Socket.EndReceiveMessageFrom 方法

定義

從指定的端點結束暫止的非同步讀取。 這個方法還會比 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 值的位元組合。

endPoint
EndPoint

來源 EndPoint

ipPacketInformation
IPPacketInformation

接收之封包的 IPAddress 和介面。

傳回

Int32

如果成功,則傳回接收的位元組數目。 如果不成功,則傳回 0。

例外狀況

asyncResultnull

-或-

endPointnull

嘗試存取通訊端時發生錯誤。

備註

如果作業尚未完成,這個方法會封鎖直到它完成為止。

若要同步執行這項作業,請使用 ReceiveMessageFrom 方法。

檢查 ipPacketInformation 您是否需要知道資料包是否使用單播、多播或廣播位址傳送。

適用於