WaitingClientExtensionSendThenResponseAsyncTClient, TResult(IWaitingClientTClient, TResult, ReadOnlyMemoryByte, Int32) 方法
发送数据并等待响应
命名空间: TouchSocket.Sockets程序集: TouchSocket (在 TouchSocket.dll 中) 版本:3.0.0+ccaf96084d09f972257496d1dd63b8ba3c1e44f0
public static Task<ResponsedData> SendThenResponseAsync<TClient, TResult>(
this IWaitingClient<TClient, TResult> client,
ReadOnlyMemory<byte> memory,
int millisecondsTimeout = 5000
)
where TClient : Object, IReceiverClient<TResult>, ISender, IRequestInfoSender
where TResult : IReceiverResult
<ExtensionAttribute>
Public Shared Function SendThenResponseAsync(Of TClient As {Object, IReceiverClient(Of TResult), ISender, IRequestInfoSender}, TResult As IReceiverResult) (
client As IWaitingClient(Of TClient, TResult),
memory As ReadOnlyMemory(Of Byte),
Optional millisecondsTimeout As Integer = 5000
) As Task(Of ResponsedData)
[<ExtensionAttribute>]
static member SendThenResponseAsync :
client : IWaitingClient<'TClient, 'TResult> *
memory : ReadOnlyMemory<byte> *
?millisecondsTimeout : int
(* Defaults:
let _millisecondsTimeout = defaultArg millisecondsTimeout 5000
*)
-> Task<ResponsedData> when 'TClient : Object and IReceiverClient<'TResult> and ISender and IRequestInfoSender when 'TResult : IReceiverResult
- client IWaitingClientTClient, TResult
- 用于发送和接收的客户端实例
- memory ReadOnlyMemoryByte
- 要发送的数据,以只读内存块形式
- millisecondsTimeout Int32 (Optional)
- 等待响应的超时时间(毫秒),默认为5000毫秒
- TClient
- 客户端类型,需实现IReceiverClientTResult和ISender接口
- TResult
- 响应结果类型,需实现IReceiverResult接口
TaskResponsedData返回接收到的响应数据在 Visual Basic 和 C# 中,这个方法可以当成为类型
IWaitingClientTClient,
TResult 的实例方法来调用。在采用实例方法语法调用这个方法时,请省略第一个参数。请参考
扩展方法 (Visual Basic) 或
扩展方法 (C# 编程指南) 获取更多信息。
TimeoutException | 如果在指定的超时时间内没有收到响应,则抛出TimeoutException异常 |