UdpSingleSourceMulticastClient.BeginReceiveFromSource 方法

定义

注意

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

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

public:
 IAsyncResult ^ BeginReceiveFromSource(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 BeginReceiveFromSource (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.BeginReceiveFromSource : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceiveFromSource (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 的长度。

尚未联接多播组。

试图访问供接收的套接字时发生错误。

注解

方法 BeginReceiveFromSource 开始从单个发送方联接的多播组接收 UDP 数据包的操作。 本地端口、多播组和发送方源地址在构造函数中 UdpSingleSourceMulticastClient 指定。 多播客户端还必须完成与多播组的联接。

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

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

适用于