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