Compartilhar via


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.

    Dica

    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

Consulte também

Referência

Classe CAsyncSocket

Gráfico da hierarquia

CAsyncSocket::Accept

CAsyncSocket::Bind

CAsyncSocket::Connect

CAsyncSocket::GetSockName

CAsyncSocket::IOCtl

CAsyncSocket::Listen

CAsyncSocket::Receive

CAsyncSocket::Send

CAsyncSocket::ShutDown