UdpAnySourceMulticastClient.BeginSendTo 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
注意
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 。