CAsyncSocket::Create
Chame a função de membro de Criar após construído um objeto de soquete para criar o soquete do Windows e anexa para.
BOOL Create( UINT nSocketPort = 0, int nSocketType = SOCK_STREAM, long lEvent = FD_READ | FD_WRITE | FD_OOB | FD_ACCEPT | FD_CONNECT | FD_CLOSE, LPCTSTR lpszSocketAddress = NULL );
Parâmetros
nSocketPort
Uma porta conhecido a ser usado com o soquete 0, ou se você deseja que os soquetes do Windows para selecionar uma porta.nSocketType
SOCK_STREAM ou SOCK_DGRAM.lEvent
Uma máscara de bits que especifica uma combinação de eventos de rede no qual o aplicativo está interessado.FD_READ deseja receber a notificação de prontidão para.
FD_WRITE deseja receber a notificação de prontidão para gravação.
FD_OOB deseja receber a notificação de chegada de dados fora de banda.
FD_ACCEPT deseja receber a notificação de conexões de entrada.
FD_CONNECT deseja receber a notificação de conexão concluída.
FD_CLOSE deseja receber a notificação de fechamento de soquete.
lpszSockAddress
Um ponteiro para uma cadeia de caracteres que contém o endereço de rede de soquete conectado, um número pontilhada como “128.56.22.8”. Passe a cadeia de caracteres de NULO para esse parâmetro indica que a instância de CAsyncSocket devem escutar pela atividade de cliente em todas as interfaces de rede.
Valor de retorno
Diferente de zero se a função é com êxito; se não 0, e um código de erro específico podem ser recuperados chamando GetLastError.Os seguintes erros se aplicam a essa função de membro:
WSANOTINITIALISED A AfxSocketInit com êxito deve ocorrer antes de usar este API.
WSAENETDOWN a implementação da do Windows detectou que o subsistema de rede falhou.
WSAEAFNOSUPPORT a família de endereço especificada não é suportado.
WSAEINPROGRESS A que bloqueia a operação da do Windows está em andamento.
WSAEMFILE não mais descritores de arquivo está disponível.
WSAENOBUFS nenhum espaço de buffer está disponível.O soquete não pode ser criada.
WSAEPROTONOSUPPORT a porta especificada não é suportado.
WSAEPROTOTYPE a porta especificada é o tipo errado para este soquete.
WSAESOCKTNOSUPPORT o tipo especificado de soquete não é suportado nesta família de endereços.
Comentários
Criar chama Soquete e se com êxito, chama Ligar para associar o soquete ao endereço especificado.Os seguintes tipos de soquete são suportados:
SOCK_STREAM fornece etapas arranjado em sequência, confiável, completos de dois lados, com base conexão- byte passa.Usa o Transmission Control protocolo para a família de (TCP) address internet.
SOCK_DGRAM oferece suporte a datagramas, que são pacotes sem conexão, não confiável de um comprimento máximo (normalmente pequeno) fixo.Usa o User Datagram protocolo para (UDP) a família de internet address.
Observação A função de membro de Aceitar utiliza uma referência a um novo objeto, vazia de CSocket como seu parâmetro.Você deve criar este objeto antes de chamar Aceitar.Tenha em mente que se esse objeto de soquete sai do escopo, a conexão for fechado.Não Criar para chamar esse novo objeto de soquete.
Importante |
---|
Criarnot é thread-safe.Se estiver chamando em um ambiente de vários segmentos onde pode ser chamado simultaneamente por segmentos diferentes, esteja certo proteger cada chamada com um mutex ou outro bloqueio de sincronização. |
Para obter mais informações sobre os soquetes de fluxo e de datagrama, consulte os artigos Soquetes do Windows: Plano de fundo e Soquetes do Windows: Portas e endereços de soquete e 2 A API do Windows.
Requisitos
Cabeçalho: afxsock.h