CAsyncSocket::SendTo

int SendTo ( const Void * LpBuf, Int nBufLen, UINT nHostPort, LPCTSTR LpszHostAddress = NULL, Int nFlags = 0 );

int SendTo ( const Void * LpBuf, Int nBufLen, const SOCKADDR * LpSockAddr, Int nSockAddrLen, Int nFlags = 0 );

Rückgabewert

Wenn kein Fehler auftritt, gibt die Gesamtzahl der Zeichen gesendet von SendTo zurück. (Beachten Sie, dass dies weniger als die von nBufLenangegebene Anzahl sein kann.) 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 mit den Daten übertragen werden.

nBufLen

Die Länge der Daten in LpBuf in Byte.

nHostPort

Der Port, der Socket-Anwendung kennzeichnet.

lpszHostAddress

Die Netzwerkadresse des Socket, mit dem dieses Objekt verbunden ist: eine Maschine Namen wie "ftp.microsoft.com" oder eine punktierte Zahl wie z. B. "128.56.22.8".

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:

lpSockAddr

Ein Zeiger auf eine SOCKADDR -Struktur, die Adresse des Ziel-Socket enthält.

nSockAddrLen

Die Länge der Adresse in LpSockAddr in Byte.

Bemerkungen

Rufen Sie diese Memberfunktion um Daten an ein bestimmtes Ziel zu senden. SendTo ist auf Datagramm oder Stream Sockets verwendet und wird verwendet, um ausgehende Daten auf einem Socket zu schreiben. Für Datagrammsockets muss darauf geachtet werden, nicht zu überschreiten die maximale IP-Paketgröße der zugrunde liegenden Subnetze, die durch das iMaxUdpDg -Element in der Struktur des WSADATA ausgefüllt AfxSocketInitgegeben ist. Wenn die Daten des zugrunde liegenden Protokolls atomar passieren zu lang ist, der WSAEMSGSIZE Fehler wird zurückgegeben, und keine Daten übertragen werden.

Beachten Sie, dass der erfolgreiche Abschluss einer SendTo nicht angegeben wird, dass die Daten erfolgreich übermittelt wurde.

SendTo wird nur auf einen SOCK_DGRAM -Socket zum Senden ein Datagramm an einen bestimmten Socket durch den LpSockAddr -Parameter angegebenen.

Um eine Sendung (auf einen SOCK_DGRAM nur) senden, sollte die Adresse in der LpSockAddr -Parameter konstruiert werden mit spezielle IP-Adresse INADDR_BROADCAST (definiert in der Windows Sockets-Header-Datei WINSOCK.H) zusammen mit der beabsichtigten Portnummer. Oder, wenn der LpszHostAddress -Parameter NULList, wird der Socket für Broadcast konfiguriert. Es ist im Allgemeinen nicht ratsam für eine Sendung Datagramm die Größe überschreiten an der Fragmentierung auftreten kann, was bedeutet, dass der Datenanteil des Datagramms (ausgenommen Header) 512 Bytes nicht überschreiten sollte.

CAsyncSocket Übersicht |nbsp; Member der Klasse | Hierarchiediagramm

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

Index