Partilhar via


Conectando-se a um soquete

Para que um cliente se comunique em uma rede, ele deve se conectar a um servidor.

Para conectar-se a um soquete

Chame a função , passando o soquete criado e a estrutura sockaddr como parâmetros. Verifique se há erros gerais.

// Connect to server.
iResult = connect( ConnectSocket, ptr->ai_addr, (int)ptr->ai_addrlen);
if (iResult == SOCKET_ERROR) {
    closesocket(ConnectSocket);
    ConnectSocket = INVALID_SOCKET;
}

// Should really try the next address returned by getaddrinfo
// if the connect call failed
// But for this simple example we just free the resources
// returned by getaddrinfo and print an error message

freeaddrinfo(result);

if (ConnectSocket == INVALID_SOCKET) {
    printf("Unable to connect to server!\n");
    WSACleanup();
    return 1;
}

A função getaddrinfo é usada para determinar os valores na estrutura sockaddr. Neste exemplo, o primeiro endereço IP retornado pela função getaddrinfo é usado para especificar a estrutura sockaddr passada para o connect. Se a conectar chamada falhar no primeiro endereço IP, tente a próxima estrutura de addrinfo na lista vinculada retornada da função getaddrinfo.

As informações especificadas na estrutura sockaddr incluem:

  • o endereço IP do servidor ao qual o cliente tentará se conectar.
  • O número da porta no servidor ao qual o cliente se conectará. Esta porta foi especificada como porta 27015 quando o cliente chamou a função getaddrinfo.

Próximo passo: envio e recebimento de dados no cliente

Introdução ao Winsock

Aplicativo Cliente Winsock

Criando um soquete para o cliente