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 );
Возвращаемое значение
Если ошибка не возникает, SendTo возвращает общее число символов, посланных. (Обратите внимание, что это может быть меньше, чем число обозначается nBufLen.) В противном случае возвращается значение SOCKET_ERROR , и код ошибки можно получить, вызвав функцию GetLastError. Следующие ошибки применяются к этой функции-члена:
Параметры
lpBuf
Буфер, содержащий данные для передачи.
nBufLen
Длина данных в lpBuf в байтах.
nHostPort
Порт, идентификации приложения сокетов.
lpszHostAddress
Сетевой адрес сокета, к которому подключен данный объект: имя машины такие как "ftp.microsoft.com" или пунктирная число таких, как «128.56.22.8».
nFlags
Указывает способ, в котором производится вызов. Семантика этой функции определяются параметры socket и параметр nFlags . Построен путем объединения любого из следующих значений с C++ или оператор:
lpSockAddr
Указатель на структуру SOCKADDR , содержащую адрес сокета целевых.
nSockAddrLen
Длина адреса в lpSockAddr в байтах.
Примечания
Вызов этой функции-члена для передачи данных для определенного назначения. SendTo используется датаграмм или потока сокетов на и используется для написания исходящих данных на сокете. Для сокетов датаграмм Будьте внимательны не должен превышать максимального IP размер пакета основных подсетей, который выдается iMaxUdpDg элементом в структуре WSADATA , заполнить, AfxSocketInit. Если данные слишком долго атомарно пройти через базового протокола, возвращается ошибка WSAEMSGSIZE , и данные не передаются.
Обратите внимание, что успешное завершение SendTo не означает, что данные успешно доставлены.
SendTo используется только на сокете SOCK_DGRAM отправить датаграмму сокету определенного, заданного параметром lpSockAddr.
Чтобы отправить вещания (на SOCK_DGRAM только), адрес в параметре lpSockAddr должен построен с использованием Специальный IP-адрес INADDR_BROADCAST (определенная в заголовочном файле Windows Sockets WINSOCK.H) вместе с номером предполагаемого порта. Или, если параметр lpszHostAddress имеет значение NULL, сокет для вещания. В целом нежелательно для вещания датаграмма превышает размер, при котором может происходить фрагментация, которая подразумевает, что часть данных датаграмм (за исключением заголовков) не должен превышать 512 байт.
Обзор CAsyncSocket |nbsp; Члены класса | Иерархическая схема
См. также CAsyncSocket::Create, CAsyncSocket::Receive, CAsyncSocket::ReceiveFrom, CAsyncSocket::Send