Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Aby serwer akceptował połączenia klienckie, musi być powiązany z adresem sieciowym w systemie. Poniższy kod pokazuje, jak powiązać gniazdo, które zostało już utworzone z adresem IP i portem. Aplikacje klienckie używają adresu IP i portu do nawiązywania połączenia z siecią hostów.
Aby związać gniazdo
Struktura sockaddr zawiera informacje dotyczące rodziny adresów, adresu IP i numeru portu.
Wywołaj funkcję powiązania, przekazując utworzone gniazdo oraz strukturę sockaddr zwróconą przez funkcję getaddrinfo jako parametr. Sprawdź, czy występują błędy ogólne.
// 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;
}
Po wywołaniu funkcji bind, informacje o adresie zwrócone przez funkcję getaddrinfo nie są już potrzebne. Funkcja freeaddrinfo jest wywoływana w celu zwolnienia pamięci przydzielonej przez funkcję getaddrinfo dla tych informacji o adresie.
freeaddrinfo(result);
Następny krok: nasłuchiwanie na gnieździe
Tematy pokrewne