Socket.ReceiveFromAsync(SocketAsyncEventArgs) Methode

Definitie

Begint asynchroon gegevens te ontvangen van een opgegeven netwerkapparaat.

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

Parameters

e
SocketAsyncEventArgs

Het SocketAsyncEventArgs object dat moet worden gebruikt voor deze asynchrone socketbewerking.

Retouren

true als de I/O-bewerking in behandeling is. De Completed gebeurtenis voor de e parameter wordt gegenereerd na voltooiing van de bewerking.

false als de I/O-bewerking synchroon is voltooid. In dit geval wordt de Completed gebeurtenis voor de e parameter niet gegenereerd en kan het e object dat als parameter wordt doorgegeven, direct worden onderzocht nadat de methodeaanroep terugkeert om het resultaat van de bewerking op te halen.

Uitzonderingen

De RemoteEndPoint waarde kan niet null zijn.

Er is al een socketbewerking uitgevoerd met behulp van het SocketAsyncEventArgs object dat is opgegeven in de e parameter.

Er is een fout opgetreden bij het openen van de socket.

Opmerkingen

De ReceiveFromAsync methode wordt voornamelijk gebruikt voor het ontvangen van gegevens op een verbindingsloze socket. Het lokale adres van de socket moet bekend zijn.

De beller moet de SocketAsyncEventArgs.RemoteEndPoint eigenschap instellen op een EndPoint van hetzelfde type als het eindpunt van de externe host. De eigenschap wordt bijgewerkt bij geslaagde ontvangst naar het werkelijke externe eindpunt.

De SocketAsyncEventArgs.SocketFlags eigenschap op de e parameter biedt de Window Sockets-serviceprovider aanvullende informatie over de leesaanvraag. Zie voor meer informatie over het gebruik van deze parameter System.Net.Sockets.SocketFlags.

De volgende eigenschappen en gebeurtenissen op het System.Net.Sockets.SocketAsyncEventArgs object zijn vereist om deze methode aan te roepen:

De aanroeper kan de SocketAsyncEventArgs.UserToken eigenschap instellen op een gewenst gebruikersstatusobject voordat de ReceiveFromAsync methode wordt aangeroepen, zodat de gegevens kunnen worden opgehaald in de callback-methode. Als de callback meer informatie nodig heeft dan één object, kan er een kleine klasse worden gemaakt om de andere vereiste statusgegevens als leden te bewaren.

Voor berichtgeoriënteerde sockets wordt een binnenkomend bericht in de buffer geplaatst tot de totale grootte van de buffer. De SocketAsyncEventArgs.Count en SocketAsyncEventArgs.Offset eigenschappen bepalen waar in de buffer de gegevens worden geplaatst en de hoeveelheid gegevens.

Voor bytestroomsockets worden binnenkomende gegevens in de buffer geplaatst totdat de buffer is gevuld, de verbinding wordt gesloten of de intern gebufferde gegevens uitgeput zijn. De SocketAsyncEventArgs.Count en SocketAsyncEventArgs.Offset eigenschappen bepalen waar in de buffer de gegevens worden geplaatst en de hoeveelheid gegevens.

Van toepassing op

Zie ook