UdpAnySourceMulticastClient.BeginReceiveFromGroup 方法

定义

注意

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

开始执行从已联接的多播组接收数据包的操作,并在来自任何发送方的数据包到达组时调用指定的回调。

public:
 IAsyncResult ^ BeginReceiveFromGroup(cli::array <System::Byte> ^ buffer, int offset, int count, 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 BeginReceiveFromGroup (byte[] buffer, int offset, int count, 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.BeginReceiveFromGroup : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceiveFromGroup (buffer As Byte(), offset As Integer, count As Integer, callback As AsyncCallback, state As Object) As IAsyncResult

参数

buffer
Byte[]

用于存储已接收数据的缓冲区。

offset
Int32

应存储数据的 buffer 开始处的偏移量(以字节为单位)。

count
Int32

要接收并存储在 buffer 中的最大字节数。

callback
AsyncCallback

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

state
Object

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

返回

引用此操作的 IAsyncResult

属性

例外

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

offset 小于 0

- 或 -

offset 大于 buffer 的长度。

- 或 -

count 小于 0

- 或 -

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

尚未联接多播组。

尝试访问套接字时出错。

注解

方法 BeginReceiveFromGroup 开始从任何发送方联接的多播组接收 UDP 数据包的操作。 本地端口和多播组地址在构造函数中 UdpAnySourceMulticastClient 指定。 多播客户端还必须已完成与多播组的联接。

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

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

适用于