CAsyncSocket::Receive

virtual int Recebimento ( void * lpBuf, int nBufLen, int nFlags = 0 );

Valor de retorno

Se nenhum erro ocorrer, receber retorna o número de bytes recebidos. Se a conexão foi fechada, ele retornará 0. 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 para os dados de entrada.

nBufLen

O comprimento do lpBuf em bytes.

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:

Observações

Chame essa função de membro para receber dados de um soquete. Essa função é usada para fluxo conectado ou datagrama soquetes e é usada para ler dados de entrada.

Para soquetes do tipo SOCK_STREAM, o máximo de informações como está atualmente disponível para o tamanho da reserva fornecida é retornado. Se o soquete foi configurado para recepção em linha de dados fora de banda (opção Soquete SO_OOBINLINE) e dados fora de banda são não lidos, apenas fora-de-banda dados serão retornados. O aplicativo pode usar a opção deSIOCATMARK IOCtlou OnOutOfBandData para determinar se os dados fora de banda mais permanecem para ser lido .

Para datagrama soquetes, dados são extraídos do datagrama enfileirados primeiro, up to o tamanho da reserva fornecida. Se o datagrama for maior do que o buffer fornecido, o buffer é preenchido com a primeiro parte do datagrama, os dados em excesso são perdidos e receber retorna um valor SOCKET_ERROR com o código de erro definido como WSAEMSGSIZE. Se nenhuma de entrada dados está disponível no soquete, um valor de SOCKET_ERROR será retornado com o código de erro definido como WSAEWOULDBLOCK. A função de retorno de chamada OnReceive pode ser usada para determinar quando chegarem mais dados.

Se o soquete é do tipo SOCK_STREAM e o lado remoto encerrou a conexão normalmente, um recebimento será concluída imediatamente com 0 bytes recebidos. Se a conexão tiver sido Redefinir, um receber falhará com o erro WSAECONNRESET.

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

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

Index