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