CAsyncSocket::Accept

telefonar Essa função de membro para aceitar uma conexão em um soquete.

virtual BOOL Accept(
   CAsyncSocket& rConnectedSocket,
   SOCKADDR* lpSockAddr = NULL,
   int* lpSockAddrLen = NULL 
);

Parâmetros

  • rConnectedSocket
    Uma referência identifica um novo soquete está disponível para conexão.

  • lpSockAddr
    Um ponteiro para um SOCKADDRestrutura de recebe o endereço de soquete de conexão sistema autônomo conhecido na rede.O formato exato do lpSockAddr argumento é determinado pela família do endereço estabelecida quando o soquete foi criado. If lpSockAddr e/ou lpSockAddrLen são iguais a NULO, em seguida, nenhuma informação sobre o endereço remoto do soquete aceito é retornado.

  • lpSockAddrLen
    Um ponteiro para o tamanho de endereço em lpSockAddr em bytes. The lpSockAddrLen é um parâmetro de resultado do valor: Inicialmente, ele deve conter a quantidade de espaço apontada por lpSockAddr; no retorno conterá o tamanho real (em bytes) de endereço retornado.

Valor de retorno

Diferente de zero se a função for bem-sucedida; caso contrário, 0, e um código de erro específico pode ser recuperado chamando GetLastError.Os seguintes erros se aplicam a essa função de membro:

  • WSANOTINITIALISED   Um bem-sucedida AfxSocketInit deve ocorrer antes de usar essa API.

  • WSAENETDOWN   A implementação do Windows Sockets detectou que o subsistema de rede falhou.

  • WSAEFAULT   The lpSockAddrLen argumento é muito pequeno (menor que o dimensionar de um SOCKADDR estrutura).

  • WSAEINPROGRESS   Uma telefonar de bloqueio de Windows Sockets está em andamento.

  • WSAEINVAL   Listen não foi chamado antes de aceitar.

  • WSAEMFILE   A fila está vazia durante a entrada para aceitar e nenhum descritores estão disponível.

  • WSAENOBUFS   Nenhum espaço do buffer está disponível.

  • WSAENOTSOCK   O descritor não é um soquete.

  • WSAEOPNOTSUPP   O soquete referenciado não é um tipo que ofereça suporte ao serviço orientado a conexão.

  • WSAEWOULDBLOCK   O soquete está marcado sistema autônomo não bloqueadas e nenhuma conexão está presente para que ela seja aceita.

Comentários

Essa rotina extrai a primeira conexão na fila de conexões pendentes, cria um novo soquete com sistema autônomo mesmas propriedades nesse soquete e anexa ao rConnectedSocket. Se nenhuma conexão pendente estiverem presente na fila, Aceitar retorna zero e GetLastError Retorna um erro. O soquete aceito (rConnectedSocket) não pode ser usado para aceitar mais conexões.O soquete original permanece em aberto e escuta.

O argumento lpSockAddr é um parâmetro de resultado que é preenchido com o endereço de soquete de conexão, também chamada à camada de comunicações. Aceitar é usado com tipos de soquete de conexão, sistema autônomo SOCK_STREAM.

Requisitos

Cabeçalho: afxsock.h

Consulte também

Referência

Classe CAsyncSocket

Gráfico de hierarquia

CAsyncSocket::Bind

CAsyncSocket::conectar

CAsyncSocket::escutar

CAsyncSocket::criar

WSAAsyncSelect

Outros recursos

CAsyncSocket membros