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 );

Возвращаемое значение

Если ошибка не возникает, 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

Index