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 );
Valore restituito
Se si verifica alcun errore, SendTo restituisce il numero totale di caratteri inviati. (Si noti che questo può essere inferiore al numero indicato dal nBufLen). In caso contrario, viene restituito un valore di SOCKET_ERROR , e un codice di errore specifico può essere recuperato chiamando GetLastError. I seguenti errori si applicano a questa funzione membro:
Parametri
lpBuf
Un buffer contenente i dati da trasmettere.
nBufLen
La lunghezza dei dati di lpBuf in byte.
nHostPort
Il porto di identificare l'applicazione di presa.
lpszHostAddress
L'indirizzo di rete del socket a cui è collegato questo oggetto: un nome macchina come "ftp.microsoft.com" o un numero con punti, come "128.56.22.8".
nFlags
Specifica il modo in cui viene effettuata la chiamata. La semantica di questa funzione è determinata dalle opzioni del socket e il parametro nFlags . Quest'ultimo viene creato combinando uno qualsiasi dei seguenti valori con l'operatore C++ o:
lpSockAddr
Un puntatore a una struttura SOCKADDR che contiene l'indirizzo del socket destinazione.
nSockAddrLen
La lunghezza dell'indirizzo in lpSockAddr in byte.
Osservazioni
Chiamare questa funzione membro per inviare dati a una destinazione specifica. SendTo viene utilizzato su socket di datagramma o stream e viene utilizzato per scrivere dati in uscita su un socket. Per i socket di datagramma, deve prestare attenzione non deve superare la dimensione massima IP packet le subnet sottostante, che è dato dall'elemento nella struttura WSADATA compilata da AfxSocketInit iMaxUdpDg . Se i dati sono troppo lunghi atomicamente passare attraverso il protocollo sottostante, viene restituito l'errore WSAEMSGSIZE e nessun dato viene trasmessa.
Si noti che il completamento di un SendTo non indica che è stati recapitati correttamente i dati.
SendTo viene utilizzato solo su un socket SOCK_DGRAM per inviare un datagramma su un socket specifico identificato dal parametro lpSockAddr.
Per inviare una trasmissione (su un SOCK_DGRAM ), l'indirizzo nel parametro lpSockAddr dovrebbe essere costruito usando l'indirizzo IP speciale INADDR_BROADCAST (definito nel file di intestazione Windows Sockets WINSOCK.H) insieme con il numero della porta di destinazione. Oppure, se il parametro lpszHostAddress è NULL, il socket è configurato per il broadcast. Esso è generalmente sconsigliabile per un datagramma broadcast da superare la dimensione in cui può verificarsi la frammentazione, che implica che la parte di dati del datagramma (escluse le intestazioni) non superi i 512 byte.
CAsyncSocket panoramica |nbsp; Membri della classe | Gerarchia Chart
Vedere a&nchenbsp;CAsyncSocket::Create, CAsyncSocket::Receive, CAsyncSocket::ReceiveFrom, CAsyncSocket::Send