Socket.EndReceiveFrom(IAsyncResult, EndPoint) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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.
Returer
Om det lyckas får du antalet mottagna byte. Returnerar 0 om det misslyckas.
Undantag
asyncResult är null.
asyncResult returnerades inte av ett anrop till BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object) metoden.
EndReceiveFrom(IAsyncResult, EndPoint) anropades tidigare för den asynkrona läsningen.
.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.