Socket.EndReceiveMessageFrom 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
结束挂起的、从特定终结点进行异步读取。 此方法还显示有关数据包而不是 EndReceiveFrom(IAsyncResult, EndPoint) 的更多信息。
public:
int EndReceiveMessageFrom(IAsyncResult ^ asyncResult, System::Net::Sockets::SocketFlags % socketFlags, System::Net::EndPoint ^ % endPoint, [Runtime::InteropServices::Out] System::Net::Sockets::IPPacketInformation % ipPacketInformation);
public int EndReceiveMessageFrom (IAsyncResult asyncResult, ref System.Net.Sockets.SocketFlags socketFlags, ref System.Net.EndPoint endPoint, out System.Net.Sockets.IPPacketInformation ipPacketInformation);
member this.EndReceiveMessageFrom : IAsyncResult * SocketFlags * EndPoint * IPPacketInformation -> int
Public Function EndReceiveMessageFrom (asyncResult As IAsyncResult, ByRef socketFlags As SocketFlags, ByRef endPoint As EndPoint, ByRef ipPacketInformation As IPPacketInformation) As Integer
参数
- asyncResult
- IAsyncResult
IAsyncResult,它存储此异步操作的状态信息以及所有用户定义的数据。
- socketFlags
- SocketFlags
所接收数据包的 SocketFlags 值的按位组合。
- ipPacketInformation
- IPPacketInformation
所接收数据包的 IPAddress 和接口。
返回
如果成功,则返回已接收的字节数。 如果不成功,则返回 0。
例外
对 BeginReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object) 方法的调用未返回 asyncResult
。
尝试访问套接字时出错。
注解
如果操作尚未完成,此方法将阻止操作,直到操作完成。
若要同步执行此操作,请使用 ReceiveMessageFrom 该方法。
检查 ipPacketInformation
是否需要使用单播、多播或广播地址发送数据报。