Socket.BeginReceiveMessageFrom Metod

Definition

Börjar asynkront ta emot det angivna antalet byte data till den angivna platsen för databufferten med hjälp av den angivna SocketFlagsoch lagrar slutpunkts- och paketinformationen.

public:
 IAsyncResult ^ BeginReceiveMessageFrom(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags socketFlags, System::Net::EndPoint ^ % remoteEP, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceiveMessageFrom(byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, ref System.Net.EndPoint remoteEP, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceiveMessageFrom(byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, ref System.Net.EndPoint remoteEP, AsyncCallback callback, object state);
member this.BeginReceiveMessageFrom : byte[] * int * int * System.Net.Sockets.SocketFlags * EndPoint * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceiveMessageFrom (buffer As Byte(), offset As Integer, size As Integer, socketFlags As SocketFlags, ByRef remoteEP As EndPoint, callback As AsyncCallback, state As Object) As IAsyncResult

Parametrar

buffer
Byte[]

En matris av typen Byte som är lagringsplats för mottagna data.

offset
Int32

Den nollbaserade positionen i parametern buffer där data ska lagras.

size
Int32

Antalet byte som ska ta emot.

socketFlags
SocketFlags

En bitvis kombination av SocketFlags värdena.

remoteEP
EndPoint

En referens till en EndPoint av samma typ som slutpunkten för fjärrvärden som ska uppdateras vid synkron mottagning.

callback
AsyncCallback

Ombudet AsyncCallback .

state
Object

Ett objekt som innehåller tillståndsinformation för den här begäran.

Returer

En IAsyncResult som refererar till den asynkrona läsningen.

Undantag

buffer är null.

-eller-

remoteEP är null.

endast .NET Framework: Ett fel uppstod vid försök att komma åt socketen.

offset är mindre än 0.

-eller-

offset är större än längden på buffer.

-eller-

size är mindre än 0.

-eller-

size är större än längden buffer på minus värdet för parametern offset .

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.

Du kan skicka ett återanrop som implementeras AsyncCallback till BeginReceiveMessageFrom för att få ett meddelande om att åtgärden har slutförts. Observera att om den underliggande nätverksstacken slutför åtgärden synkront körs återanropet infogat under anropet till BeginReceiveMessageFrom. I det här fallet CompletedSynchronously anges egenskapen för den returnerade IAsyncResult till för true att indikera att metoden slutfördes synkront. AsyncState Använd egenskapen för IAsyncResult att hämta tillståndsobjektet som skickas BeginReceiveMessageFrom till metoden.

Den asynkrona BeginReceiveMessageFrom åtgärden måste slutföras genom att anropa EndReceiveMessageFrom metoden. Metoden anropas vanligtvis av ombudet AsyncCallback . EndReceiveMessageFrom blockerar den anropande tråden tills åtgärden har slutförts.

Om du vill avbryta en väntande BeginReceiveMessageFromanropar du Close metoden.

Den här metoden läser in data i parametern buffer och samlar in fjärrvärdens slutpunkt från vilken data skickas samt information om det mottagna paketet. Information om hur du hämtar den här slutpunkten finns i EndReceiveMessageFrom. Den här metoden är mest användbar om du tänker ta emot anslutningslösa datagram asynkront från en okänd värd eller flera värdar.

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.

Note

Körningskontexten (säkerhetskontexten, den personifierade användaren och den anropande kontexten) cachelagras för de asynkrona Socket metoderna. Efter den första användningen av en viss kontext (en specifik asynkron Socket metod, en specifik Socket instans och en specifik motringning) kommer efterföljande användning av den kontexten att se en prestandaförbättring.

Gäller för