Compartilhar via


CAsyncSocket::Connect

Chamar essa função de membro para estabelecer uma conexão a um soquete desconectado de fluxo ou de datagrama.

BOOL Connect( 
   LPCTSTR lpszHostAddress, 
   UINT nHostPort  
); 
BOOL Connect( 
   const SOCKADDR* lpSockAddr, 
   int nSockAddrLen  
);

Parâmetros

  • lpszHostAddress
    O endereço de rede de soquete a que este objeto está conectado: um nome do computador tal como “ftp.microsoft.com”, ou um número pontilhada como “128.56.22.8”.

  • nHostPort
    A porta que identifica o aplicativo de soquete.

  • lpSockAddr
    Um ponteiro a estrutura de SOCKADDR que contém o endereço de soquete conectado.

  • nSockAddrLen
    O comprimento do endereço em lpSockAddr em bytes.

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. Isso indica se um código de erro de WSAEWOULDBLOCK, e seu aplicativo estiver usando as callbacks substituível, seu aplicativo receberá uma mensagem de OnConnect quando a operação conectar concluída. 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.

  • WSAEADDRINUSE o endereço especificado está sendo usado.

  • A chamada da do windows de bloqueio deWSAEINPROGRESS A está em andamento.

  • WSAEADDRNOTAVAIL o endereço especificado não está disponível no computador local.

  • Endereços deWSAEAFNOSUPPORT na família especificada não podem ser usados com esse soquete.

  • WSAECONNREFUSED a tentativa de se conectar foi descartado.

  • O endereço de destino deWSAEDESTADDRREQ A é necessário.

  • WSAEFAULT o argumento de nSockAddrLen está incorreto.

  • Endereço do host inválido deWSAEINVAL .

  • WSAEISCONN o soquete já está conectado.

  • WSAEMFILE não mais descritores de arquivo está disponível.

  • WSAENETUNREACH a rede não pode ser alcançado de este host no momento.

  • WSAENOBUFS nenhum espaço de buffer está disponível. o soquete não pode ser conectado.

  • WSAENOTSOCK o descritor não for um soquete.

  • A tentativa deWSAETIMEDOUT de conexão expirou sem estabelecer uma conexão.

  • WSAEWOULDBLOCK o soquete é marcado como nonblocking e a conexão não pode ser concluída imediatamente.

Comentários

Se o soquete é desatado, os valores exclusivos são atribuídos a associação pelo sistema local, e o soquete é marcado como o limite. Observe que se o campo de endereço da estrutura do nome é todos os zeros, Conectar retornará zero. Para obter informações de erro estendido, chame a função de membro de GetLastError .

Para os soquetes de fluxo ( SOCK_STREAMtipo), uma conexão ativa é iniciada ao host estrangeiro. Quando a chamada de soquete concluída com sucesso, o soquete está pronto para enviar/receber dados.

Para um soquete de datagrama (tipo SOCK_DGRAM), um destino padrão é definido, que é usado em Enviar subseqüente e em chamadas de Receber .

Requisitos

Cabeçalho: afxsock.h

Consulte também

Referência

Classe CAsyncSocket

Gráfico da hierarquia

CAsyncSocket::Accept

CAsyncSocket::Bind

CAsyncSocket::GetSockName

CAsyncSocket::Create

CAsyncSocket::AsyncSelect