CAsyncSocket::Receive

virtuelle int Empfangen ( Void * LpBuf, Int nBufLen, Int nFlags = 0 );

Rückgabewert

Wenn kein Fehler auftritt, gibt Receive die Anzahl der empfangenen Bytes zurück. Wenn die Verbindung geschlossen wurde, wird 0 zurückgegeben. Andernfalls ist der Wert SOCKET_ERROR zurückgegeben, und ein Fehlercode kann durch Aufrufen von GetLastErrorabgerufen werden. Wenden Sie die folgenden Fehler auf dieser Member-Funktion:

Parameter

lpBuf

Ein Puffer für die eingehenden Daten.

nBufLen

Die Länge des LpBuf in Byte.

nFlags

Gibt an, wie in dem der Aufruf vorgenommen wurde. Die Semantik dieser Funktion werden durch die Socket-Optionen und des nFlags -Parameters bestimmt. Letzteres wird erstellt, indem die folgenden Werte mit dem C++- oder -Operator kombiniert:

Bemerkungen

Rufen Sie diese Memberfunktion um Daten von einem Socket zu empfangen. Diese Funktion dient zur verbundenen Stream oder Datagrammsockets und zum Lesen eingehender Daten verwendet wird.

Für Sockets vom Typ SOCK_STREAMist soviel Informationen wie derzeit bis zur Größe des Puffers geliefert wird zurückgegeben. Wenn der Socket für in-Line-Aufnahme von Out-of-Band-Daten (Socket-Option SO_OOBINLINE) konfiguriert wurde, und Out-of-Band Daten ungelesen ist, werden nur Out-of-Band Daten zurückgegeben werden. Die kann Anwendung der IOCtl SIOCATMARK Option oder OnOutOfBandData um zu bestimmen, ob mehr Out-of-Band-Daten noch gelesen werden.

Für Datagrammsockets ist das erste empfangene Datagramm, bis zur Größe des Puffers gelieferten Daten entnommen. Wenn das Datagramm größer als der Puffer ist, der Puffer voll ist, mit dem ersten Teil des Datagramms, die überzähligen Daten geht verloren, und empfangen gibt den Wert SOCKET_ERROR zurück, mit dem Fehlercode auf WSAEMSGSIZEfestgelegt. Wenn keine eingehenden Daten an die Buchse verfügbar ist, wird der Wert SOCKET_ERROR mit dem Fehlercode festgelegt, WSAEWOULDBLOCKzurückgegeben. Die OnReceive -Callback-Funktion kann verwendet werden, um zu bestimmen, wenn mehr Daten ankommen.

Wenn der Socket vom Typ SOCK_STREAM ist, und die remote-Seite wurde die Verbindung ordnungsgemäß heruntergefahren, wird ein Receive sofort mit 0 Bytes empfangen wurden abgeschlossen. Wenn die Verbindung zurückgesetzt wurde, wird eine Receive mit dem Fehler WSAECONNRESET fehlschlagen.

CAsyncSocket Übersicht |nbsp; Member der Klasse | Hierarchiediagramm

Siehe auch&Nbsp;CAsyncSocket::AsyncSelect, CAsyncSocket::Create, CAsyncSocket, CAsyncSocket::Send

Index