一款简单易用的基础网络通讯组件库。

WaitingClientExtensionSendThenResponseAsyncTClient, TResult(IWaitingClientTClient, TResult, ReadOnlyMemoryByte, Int32) 方法

发送数据并等待响应

Definition

命名空间: TouchSocket.Sockets
程序集: TouchSocket (在 TouchSocket.dll 中) 版本:3.0.0+ccaf96084d09f972257496d1dd63b8ba3c1e44f0
C#
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

参数

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异常

参见