Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Чтобы клиент взаимодействовал в сети, он должен подключаться к серверу.
Подключение к сокету
Вызовите функцию , передав созданный сокет и структуру 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. В этом примере используется первый IP-адрес, возвращаемый функцией getaddrinfo getaddrinfo, для указания структуры sockaddr, переданной подключения. Если вызов соединения завершается сбоем с первым IP-адресом, попробуйте использовать следующую структуру addrinfo в связанном списке, который вернулся из функции getaddrinfo.
Сведения, указанные в структуре sockaddr, включают следующие элементы:
- IP-адрес сервера, к которому клиент попытается подключиться.
- номер порта на сервере, к которому будет подключаться клиент. Этот порт был указан как порт 27015, когда клиент вызвал функцию getaddrinfo.
Следующий шаг: отправка и получение данных на клиенте
Связанные разделы