ソケットへの接続
クライアントがネットワーク上で通信するには、サーバーに接続する必要があります。
ソケットに接続するには
connect 関数を呼び出し、作成されたソケットと sockaddr 構造体をパラメーターとして渡します。 一般的なエラーを確認します。
// 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;
}
getaddrinfo 関数は、sockaddr 構造体の値を決定するために使用されます。 この例では、getaddrinfo 関数によって返される最初の IP アドレスを使用して、接続に渡される sockaddr 構造体を指定します。 最初の IP アドレスへの接続呼び出しが失敗した場合は、getaddrinfo 関数から返されたリンク リスト内の次の addrinfo 構造体を試してください。
sockaddr 構造体で指定される情報には、次のものが含まれます。
- クライアントが接続を試みるサーバーの IP アドレス。
- クライアントが接続するサーバー上のポート番号。 このポートは、クライアントが getaddrinfo 関数を呼び出したときにポート 27015 として指定されました。
次の手順: クライアントでのデータの送受信
関連トピック