Привязка сокета
Чтобы сервер принимал клиентские подключения, он должен быть привязан к сетевому адресу в системе. В следующем коде показано, как привязать уже созданный сокет к IP-адресу и порту. Клиентские приложения используют IP-адрес и порт для подключения к сети узла.
Привязка сокета
Структура sockaddr содержит сведения о семействе адресов, IP-адресе и номере порта.
Вызовите функцию bind , передав в качестве параметров созданную структуру сокета и sockaddrdr, возвращенную функцией getaddrinfo . Проверьте наличие общих ошибок.
// Setup the TCP listening socket
iResult = bind( ListenSocket, result->ai_addr, (int)result->ai_addrlen);
if (iResult == SOCKET_ERROR) {
printf("bind failed with error: %d\n", WSAGetLastError());
freeaddrinfo(result);
closesocket(ListenSocket);
WSACleanup();
return 1;
}
После вызова функции bind сведения об адресе, возвращаемые функцией getaddrinfo , больше не нужны. Функция freeaddrinfo вызывается для освобождения памяти, выделенной функцией getaddrinfo для этой информации об адресе.
freeaddrinfo(result);
Следующий шаг. Прослушивание сокета
Связанные темы