Socket.ReceiveFromAsync(SocketAsyncEventArgs) Methode

Definition

Beginnt den asynchronen Datenempfang aus dem angegebenen Netzwerkgerät.Begins to asynchronously receive data from a specified network device.

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

Parameter

e
SocketAsyncEventArgs

Das SocketAsyncEventArgs-Objekt, das für diesen asynchronen Socketvorgang verwendet werden soll.The SocketAsyncEventArgs object to use for this asynchronous socket operation.

Gibt zurück

true, wenn der E/A-Vorgang aussteht.true if the I/O operation is pending. Das Completed-Ereignis für den e-Parameter wird nach dem Abschluss des Vorgangs ausgelöst.The Completed event on the e parameter will be raised upon completion of the operation.

false, wenn der E/A-Vorgang synchron abgeschlossen wurde.false if the I/O operation completed synchronously. In diesem Fall wird das Completed-Ereignis für den e-Parameter nicht ausgelöst, und das als Parameter übergebene e-Objekt kann direkt nach der Rückgabe des Methodenaufrufs untersucht werden, um die Ergebnisse des Vorgangs abzurufen.In this case, The Completed event on the e parameter will not be raised and the e object passed as a parameter may be examined immediately after the method call returns to retrieve the result of the operation.

Ausnahmen

RemoteEndPoint darf nicht NULL sein.The RemoteEndPoint cannot be null.

Es wird bereits ein Socketvorgang mit dem im e-Parameter angegebenen SocketAsyncEventArgs-Objekt ausgeführt.A socket operation was already in progress using the SocketAsyncEventArgs object specified in the e parameter.

Für diese Methode ist Windows XP oder höher erforderlich.Windows XP or later is required for this method.

Der Socket wurde geschlossen.The Socket has been closed.

Fehler beim Versuch, auf den Socket zuzugreifen.An error occurred when attempting to access the socket.

Hinweise

Die ReceiveFromAsync-Methode wird hauptsächlich verwendet, um Daten auf einem Verbindungs losen Socket zu empfangen.The ReceiveFromAsync method is used primarily to receive data on a connectionless socket. Die lokale Adresse des Sockets muss bekannt sein.The socket's local address must be known.

Der Aufrufer muss die SocketAsyncEventArgs.RemoteEndPoint-Eigenschaft auf die IPEndPoint des Remote Hosts festlegen, von dem die Daten empfangen werden sollen.The caller must set the SocketAsyncEventArgs.RemoteEndPoint property to the IPEndPoint of the remote host from which the data is to be received.

Die SocketAsyncEventArgs.SocketFlags-Eigenschaft des e-Parameters stellt dem Window Sockets-Dienstanbieter zusätzliche Informationen über die Lese Anforderung bereit.The SocketAsyncEventArgs.SocketFlags property on the e parameter provides the Window Sockets service provider with additional information about the read request. Weitere Informationen zum Verwenden dieses Typs finden Sie unter System.Net.Sockets.SocketFlags.For more information about how to use this parameter, see System.Net.Sockets.SocketFlags.

Die folgenden Eigenschaften und Ereignisse für das System.Net.Sockets.SocketAsyncEventArgs Objekt sind erforderlich, um diese Methode erfolgreich aufzurufen:The following properties and events on the System.Net.Sockets.SocketAsyncEventArgs object are required to successfully call this method:

Der Aufrufer kann die SocketAsyncEventArgs.UserToken-Eigenschaft auf ein beliebiges Benutzer Zustands Objekt festlegen, bevor die ReceiveFromAsync-Methode aufgerufen wird, damit die Informationen in der Rückruf Methode abgerufen werden können.The caller may set the SocketAsyncEventArgs.UserToken property to any user state object desired before calling the ReceiveFromAsync method, so that the information will be retrievable in the callback method. Wenn der Rückruf mehr Informationen benötigt als ein einzelnes Objekt, kann eine kleine Klasse erstellt werden, die die anderen erforderlichen Zustandsinformationen als Member enthält.If the callback needs more information than a single object, a small class can be created to hold the other required state information as members.

Bei Nachrichten orientierten Sockets wird eine eingehende Nachricht bis zur Gesamtgröße des Puffers in den Puffer eingefügt.For message-oriented sockets, an incoming message is placed into the buffer up to the total size of the buffer. Die Eigenschaften "SocketAsyncEventArgs.Count" und "SocketAsyncEventArgs.Offset" bestimmen, wo die Daten im Puffer abgelegt werden, und die Datenmenge.The SocketAsyncEventArgs.Count and SocketAsyncEventArgs.Offset properties determine where in the buffer the data is placed and the amount of data.

Bei Bytes im Bytestream werden eingehende Daten in den Puffer eingefügt, bis der Puffer gefüllt wird, die Verbindung geschlossen wird oder die intern gepufferten Daten aufgebraucht sind.For byte stream-style sockets, incoming data is placed into the buffer until the buffer is filled, the connection is closed, or the internally buffered data is exhausted. Die Eigenschaften "SocketAsyncEventArgs.Count" und "SocketAsyncEventArgs.Offset" bestimmen, wo die Daten im Puffer abgelegt werden, und die Datenmenge.The SocketAsyncEventArgs.Count and SocketAsyncEventArgs.Offset properties determine where in the buffer the data is placed and the amount of data.

Gilt für:

Siehe auch