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

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

异步发送数据并返回响应,如果超时则抛出异常。

Definition

命名空间: TouchSocket.Sockets
程序集: TouchSocket (在 TouchSocket.dll 中) 版本:3.0.0+ccaf96084d09f972257496d1dd63b8ba3c1e44f0
C#
public static Task<byte[]> SendThenReturnAsync<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
实现IWaitSender接口的客户端对象,用于发送数据。
memory  ReadOnlyMemoryByte
待发送的数据,以ReadOnlyMemoryT的形式指定。
millisecondsTimeout  Int32  (Optional)
操作超时的时间,以毫秒为单位,默认为5000毫秒(5秒)。

类型参数

TClient

[缺少 "M:TouchSocket.Sockets.WaitingClientExtension.SendThenReturnAsync``2(TouchSocket.Sockets.IWaitingClient{``0,``1},System.ReadOnlyMemory{System.Byte},System.Int32)" 的 <typeparam name="TClient"/> 文档]

TResult

[缺少 "M:TouchSocket.Sockets.WaitingClientExtension.SendThenReturnAsync``2(TouchSocket.Sockets.IWaitingClient{``0,``1},System.ReadOnlyMemory{System.Byte},System.Int32)" 的 <typeparam name="TResult"/> 文档]

返回值

TaskByte
返回发送操作的响应数据,以byte数组形式。

备注

在 Visual Basic 和 C# 中,这个方法可以当成为类型 IWaitingClientTClient, TResult 的实例方法来调用。在采用实例方法语法调用这个方法时,请省略第一个参数。请参考 扩展方法 (Visual Basic)扩展方法 (C# 编程指南) 获取更多信息。

异常

TimeoutException当操作超时时,此异常被抛出。

参见