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

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

使用指定的超时时间通过IWaitSender发送数据并返回响应。 此方法通过创建一个带有超时时间的CancellationTokenSource来控制操作的超时。 如果操作在指定的超时时间内完成,则返回操作的结果,否则抛出一个超时异常。

Definition

命名空间: TouchSocket.Sockets
程序集: TouchSocket (在 TouchSocket.dll 中) 版本:3.0.0+ccaf96084d09f972257496d1dd63b8ba3c1e44f0
C#
public static byte[] SendThenReturn<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
只读字节内存,表示要发送的数据。
millisecondsTimeout  Int32  (Optional)
操作的超时时间,以毫秒为单位,默认为5000毫秒(5秒)。

类型参数

TClient

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

TResult

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

返回值

Byte
操作成功时返回字节数组,包含响应数据。

备注

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

异常

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

参见