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,存放此非同步作業 (Asynchronous Operation) 的狀態資訊和任何使用者定義的資料。
- socketFlags
- SocketFlags
接收封包之 SocketFlags 值的位元組合。
- ipPacketInformation
- IPPacketInformation
接收之封包的 IPAddress 和介面。
傳回
如果成功,則傳回接收的位元組數目。 如果不成功,則傳回 0。
例外狀況
asyncResult
不會經由對 BeginReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object) 方法的呼叫傳回。
嘗試存取通訊端時發生錯誤。
備註
如果作業尚未完成,這個方法會封鎖直到它完成為止。
若要同步執行這項作業,請使用 ReceiveMessageFrom 方法。
檢查 ipPacketInformation
您是否需要知道資料包是否使用單播、多播或廣播位址傳送。