Socket.EndReceiveFrom(IAsyncResult, EndPoint) Metod

Definition

Avslutar en väntande asynkron läsning från en specifik slutpunkt.

public:
 int EndReceiveFrom(IAsyncResult ^ asyncResult, System::Net::EndPoint ^ % endPoint);
public int EndReceiveFrom(IAsyncResult asyncResult, ref System.Net.EndPoint endPoint);
member this.EndReceiveFrom : IAsyncResult * EndPoint -> int
Public Function EndReceiveFrom (asyncResult As IAsyncResult, ByRef endPoint As EndPoint) As Integer

Parametrar

asyncResult
IAsyncResult

En IAsyncResult som lagrar tillståndsinformation och användardefinierade data för den här asynkrona åtgärden.

endPoint
EndPoint

Källan EndPoint.

Returer

Om det lyckas får du antalet mottagna byte. Returnerar 0 om det misslyckas.

Undantag

asyncResult är null.

EndReceiveFrom(IAsyncResult, EndPoint) anropades tidigare för den asynkrona läsningen.

Ett fel uppstod vid försök att komma åt socketen.

-eller-

endast .NET 7+ : Socket har stängts.

.NET Framework, .NET Core och endast .NET 5–6: Socket har stängts.

Kommentarer

Important

Det här är ett kompatibilitets-API. Vi rekommenderar inte att du använder APM-metoderna (Begin* och End*) för ny utveckling. Använd i stället de Task-baserade motsvarigheterna.

EndReceiveFrom slutför åtgärden som startades av BeginReceiveFrom. Du måste skicka det IAsyncResult som skapats av det matchande BeginReceiveFrom anropet.

Metoden EndReceiveFrom blockeras tills data är tillgängliga. Om du använder ett anslutningslöst protokoll EndReceiveFrom läser du det första datagrammet som är tillgängligt i den inkommande nätverksbufferten. Om du använder ett anslutningsorienterat protokoll EndReceiveFrom läser metoden så mycket data som är tillgängligt upp till det antal byte som du angav i parametern size för BeginReceiveFrom metoden. Om fjärrvärden stänger av Socket anslutningen till Shutdown metoden och alla tillgängliga data har tagits emot EndReceiveFrom slutförs metoden omedelbart och noll byte returneras. Om du vill hämta mottagna data anropar AsyncState du -metoden för IAsyncResult objektet och extraherar bufferten i det resulterande tillståndsobjektet. Om du vill identifiera den ursprungliga värden extraherar du och gjuter EndPoint den till en IPEndPoint. IPEndPoint.Address Använd metoden för att hämta IP-adressen och IPEndPoint.Port metoden för att hämta portnumret.

Note

Om du får en SocketExceptionanvänder du SocketException.ErrorCode egenskapen för att hämta den specifika felkoden.

Note

Den här medlemmen matar ut spårningsinformation när du aktiverar nätverksspårning i ditt program. Mer information finns i Network Tracing in .NET Framework.

Gäller för