Socket.ReceiveFromAsync(SocketAsyncEventArgs) Metod

Definition

Börjar asynkront ta emot data från en angiven nätverksenhet.

public:
 bool ReceiveFromAsync(System::Net::Sockets::SocketAsyncEventArgs ^ e);
public bool ReceiveFromAsync(System.Net.Sockets.SocketAsyncEventArgs e);
member this.ReceiveFromAsync : System.Net.Sockets.SocketAsyncEventArgs -> bool
Public Function ReceiveFromAsync (e As SocketAsyncEventArgs) As Boolean

Parametrar

e
SocketAsyncEventArgs

Objektet SocketAsyncEventArgs som ska användas för den här asynkrona socketåtgärden.

Returer

true om I/O-åtgärden väntar. Händelsen Completed på parametern e utlöses när åtgärden har slutförts.

false om I/O-åtgärden slutfördes synkront. I det här fallet Completed utlöses inte händelsen för parametern e och objektet e som skickas som en parameter kan undersökas omedelbart efter att metodanropet returneras för att hämta resultatet av åtgärden.

Undantag

Får RemoteEndPoint inte vara null.

En socketåtgärd pågick redan med hjälp av objektet SocketAsyncEventArgs som anges i parametern e .

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

Kommentarer

Metoden ReceiveFromAsync används främst för att ta emot data på en anslutningslös socket. Socketens lokala adress måste vara känd.

Anroparen måste ange SocketAsyncEventArgs.RemoteEndPoint egenskapen till en EndPoint av samma typ som fjärrvärdens slutpunkt. Egenskapen uppdateras vid lyckad mottagning till den faktiska fjärrslutpunkten.

Egenskapen SocketAsyncEventArgs.SocketFlags på parametern e ger Window Sockets-tjänstprovidern ytterligare information om läsbegäran. Mer information om hur du använder den här parametern finns i System.Net.Sockets.SocketFlags.

Följande egenskaper och händelser i System.Net.Sockets.SocketAsyncEventArgs objektet krävs för att anropa den här metoden:

Anroparen kan ange SocketAsyncEventArgs.UserToken egenskapen till valfritt användartillståndsobjekt som önskas innan metoden anropas ReceiveFromAsync , så att informationen kan hämtas i motringningsmetoden. Om återanropet behöver mer information än ett enskilt objekt kan en liten klass skapas för att lagra den andra nödvändiga tillståndsinformationen som medlemmar.

För meddelandeorienterade sockets placeras ett inkommande meddelande i bufferten upp till buffertens totala storlek. Egenskaperna SocketAsyncEventArgs.Count och SocketAsyncEventArgs.Offset avgör var i bufferten data placeras och mängden data.

För byte stream-style sockets placeras inkommande data i bufferten tills bufferten är fylld, anslutningen stängs eller de internt buffrade data är uttömda. Egenskaperna SocketAsyncEventArgs.Count och SocketAsyncEventArgs.Offset avgör var i bufferten data placeras och mängden data.

Gäller för

Se även