Socket.ReceiveFromAsync(SocketAsyncEventArgs) 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.
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
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 .
Har Socket stängts.
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.