連接到連接埠
若要讓用戶端在網路上通訊,它必須連線到伺服器。
連接到 Socket
呼叫 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 位址會用來指定傳遞至 connect的 sockaddr 結構。 如果 連線 呼叫未能成功連接到第一個IP位址,請在從 getaddrinfo 函式返回的連結清單中,嘗試使用下一個 addrinfo 結構。
sockaddr 結構中指定的資訊包括:
- 用戶端將嘗試連線之伺服器的IP位址。
- 用戶端要連線之伺服器上的埠號碼。 當用戶端呼叫 getaddrinfo 函式時,此埠已指定為埠 27015。
下一個步驟:在用戶端上傳送和接收數據
相關主題