UdpAnySourceMulticastClient.BeginSendTo 方法

定义

注意

This API supports the .NET Framework infrastructure and is not intended to be used directly from your code.

开始执行向指定目标发送单播数据包的操作。

public:
 IAsyncResult ^ BeginSendTo(cli::array <System::Byte> ^ buffer, int offset, int count, System::Net::IPEndPoint ^ remoteEndPoint, AsyncCallback ^ callback, System::Object ^ state);
[System.Obsolete("This API supports the .NET Framework infrastructure and is not intended to be used directly from your code.", true)]
public IAsyncResult BeginSendTo (byte[] buffer, int offset, int count, System.Net.IPEndPoint remoteEndPoint, AsyncCallback callback, object state);
[<System.Obsolete("This API supports the .NET Framework infrastructure and is not intended to be used directly from your code.", true)>]
member this.BeginSendTo : byte[] * int * int * System.Net.IPEndPoint * AsyncCallback * obj -> IAsyncResult
Public Function BeginSendTo (buffer As Byte(), offset As Integer, count As Integer, remoteEndPoint As IPEndPoint, callback As AsyncCallback, state As Object) As IAsyncResult

参数

buffer
Byte[]

包含要发送的数据的缓冲区。

offset
Int32

要从中读取待发送数据的从 buffer 开始处的偏移量(以字节为单位)。

count
Int32

要从 buffer 发送的字节数。

remoteEndPoint
IPEndPoint

要向其发送数据包的远程终结点。

callback
AsyncCallback

要在此操作完成时调用的回调方法。

state
Object

要为此操作传递给 callback 方法的可选状态信息。

返回

引用此操作的 IAsyncResult

属性

例外

buffer 为 null 引用(在 Visual Basic 中为 Nothing)。

offset 小于 0

- 或 -

offset 大于 buffer 的长度。

- 或 -

count 小于 0

- 或 -

offset 加上此计数大于 buffer 的长度。

尚未联接多播组。

尝试访问套接字时出错。

注解

方法 BeginSendTo 开始将 UDP 数据包发送到联接的多播组的操作。

客户端必须已完成多播组的加入。 参数中指定的 remoteEndPoint 目标地址必须已将多播数据包发送到此接收方。 某些协议使用此信息传递流控制、服务质量统计信息或恢复消息。

当收到数据包时, callback 将调用 参数中指定的方法。

仅当 参数中指定的 remoteEndPoint 地址已将多播数据包发送到此接收方时,才允许传输。 如果不允许客户端访问, SocketException 则会使用 AccessDenied引发 。

如果 参数中指定的 remoteEndPoint 目标端口小于 1,024, SocketException 则会使用 AccessDenied引发 。

如果接收操作同步失败,则可能会发生套接字故障,尽管这在 UDP 中并不常见。 如果发生套接字故障, SocketException 将引发 。 收到的错误指定为 枚举的成员 SocketError

适用于