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