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

UdpSessionBaseProtectedDefaultSendAsync(EndPoint, ReadOnlyMemoryByte) 方法

异步发送数据到指定的端点。 此方法用于封装实际的数据发送逻辑,在发送之前会进行必要的检查和调用事件处理程序,以确保数据的正确发送。

Definition

命名空间: TouchSocket.Sockets
程序集: TouchSocket (在 TouchSocket.dll 中) 版本:3.0.0+ccaf96084d09f972257496d1dd63b8ba3c1e44f0
C#
protected Task ProtectedDefaultSendAsync(
	EndPoint endPoint,
	ReadOnlyMemory<byte> memory
)

参数

endPoint  EndPoint
要发送数据到的端点。
memory  ReadOnlyMemoryByte
待发送的数据,以只读内存块的形式。

返回值

Task

[缺少 "M:TouchSocket.Sockets.UdpSessionBase.ProtectedDefaultSendAsync(System.Net.EndPoint,System.ReadOnlyMemory{System.Byte})" 的 <returns> 文档]

备注

在执行实际的数据发送之前,方法会:

  • 检查当前对象是否已经被释放(通过调用ThrowIfDisposed方法),如果是,则抛出异常。
  • 检查当前对象是否处于可以发送数据的状态(通过调用ThrowIfCannotSend方法),如果不是,则抛出异常。
  • 触发OnUdpSending(EndPoint, ReadOnlyMemoryByte)事件,允许自定义在实际发送数据之前的逻辑。

之后,使用SendToAsync(ArraySegmentByte, SocketFlags, EndPoint)方法异步地将数据发送到指定的端点。

发送完成后,更新最后一次发送时间(m_lastSendTime)为当前的UTC时间。

参见