CAsyncSocket::SendTo

intSendTo (constvoid *lpBuf,intnBufLen,UINTnHostPort,LPCTSTRlpszHostAddress=denFlags=intNULL,0);

int SendTo ( const void * lpBuf, int nBufLen, const SOCKADDR * lpSockAddr, int nSockAddrLen, int nFlags = 0 );

Valor de retorno

Se nenhum erro ocorrer, SendTo retorna o número total de caracteres enviados. (Observe que isso pode ser menor que o número indicado por nBufLen.) Caso contrário, será retornado um valor de SOCKET_ERROR e um código de erro específicas pode ser recuperado chamando GetLastError. Os seguintes erros aplicam para esta função de membro:

Parâmetros

lpBuf

Um buffer que contém os dados a serem transmitidos.

nBufLen

O comprimento dos dados em lpBuf em bytes.

nHostPort

A porta que identifica o aplicativo de soquete.

lpszHostAddress

O endereço de rede do soquete para o qual este objeto está conectado: um nome de máquina, como "ftp.microsoft.com" ou um número pontilhado, como "128.56.22.8".

nFlags

Especifica a maneira na qual o chamar é feita. A semântica desta função é determinada pelas opções de soquete e o parâmetro nFlags . O segundo é construído pela combinação de qualquer um dos seguintes valores com o operador de C++ ou:

lpSockAddr

Um ponteiro para uma estrutura SOCKADDR que contém o endereço de soquete de destino.

nSockAddrLen

O comprimento do endereço em lpSockAddr em bytes.

Observações

Chame essa função de membro para enviar dados para um destino específico. SendTo é usado nos soquetes datagrama ou fluxo e é usado para gravar dados de saída em um soquete. Para datagrama soquetes, deve-se ter cuidado para não exceder o IP pacote tamanho máximo das sub-redes subjacentes, que é dada pelo elemento iMaxUdpDg na estrutura WSADATA preenchido por AfxSocketInit. Se os dados forem muito longos para passar atomicamente pelo protocolo subjacente, o erro WSAEMSGSIZE é retornado, e sem Dadosdos é transmitido.

Note-se que a conclusão bem-sucedida de um SendTo não indica que os dados foi entregue com êxito.

SendTo é usado somente em um soquete SOCK_DGRAM para enviar uma datagrama para um soquete específico identificado pelo parâmetro lpSockAddr.

Para enviar um broadcast (em um SOCK_DGRAM somente), o endereço no parâmetro lpSockAddr deve ser construído usando o especial endereço IP INADDR_BROADCAST (definido no arquivo de cabeçalho Windows Sockets WINSOCK.H) juntamente com o número da porta pretendido. Ou, se o lpszHostAddress parâmetro é NULL, o soquete é configurado para transmissão. É geralmente para um datagrama de transmissão exceder o tamanho em que pode ocorrer fragmentação, o que implica que a parte de dados do datagrama (excluindo cabeçalhos) não deve exceder 512 bytes.

Visão geral de CAsyncSocket |nbsp; Membros de classe | Gráfico de hierarquia

Co&nsulte tambémnbsp;CAsyncSocket::Create, CAsyncSocket::Receive, CAsyncSocket:: ReceiveFrom, CAsyncSocket::Send

Index