Narzędzia użytkownika

Narzędzia witryny


sk2:sockets_netdbs

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
sk2:sockets_netdbs [2021/11/25 08:38]
jkonczak [getaddrinfo]
sk2:sockets_netdbs [2023/10/17 14:03] (aktualna)
jkonczak
Linia 37: Linia 37:
 <​html><​small></​html>​ <​html><​small></​html>​
 Kompilator GCC udostępnia wiele rozszerzeń "​łatających"​ braki standardów [[https://​gcc.gnu.org/​onlinedocs/​gcc/​C-Extensions.html]].\\ Kompilator GCC udostępnia wiele rozszerzeń "​łatających"​ braki standardów [[https://​gcc.gnu.org/​onlinedocs/​gcc/​C-Extensions.html]].\\
-Towarzysząca mu biblioteka [[https://​www.gnu.org/​software/​libc/​|glibc]] wprowadza między innymi funkcję ''​gethostbyname_r''​ (funkcje ''​*_r''​ są reentrant, tj. można je łatwiej stosować w aplikacjach wielowątkowych [[https://​en.wikipedia.org/​wiki/​Reentrancy_%28computing%29]]). ''​gethostbyname_r''​ może być używana współbieżnie.+Towarzysząca mu biblioteka [[https://​www.gnu.org/​software/​libc/​|glibc]] wprowadza między innymi funkcję ''​[[https://​www.gnu.org/​software/​libc/​manual/​html_node/​Host-Names.html#​index-gethostbyname_005fr|gethostbyname_r]]''​ (funkcje ''​*_r''​ są reentrant, tj. można je łatwiej stosować w aplikacjach wielowątkowych [[https://​en.wikipedia.org/​wiki/​Reentrancy_%28computing%29]]). ''​gethostbyname_r''​ może być używana współbieżnie.
  
 <code cpp> <code cpp>
Linia 75: Linia 75:
 };</​code><​html></​small></​html>​ };</​code><​html></​small></​html>​
  
-Pełen opis funkcji ''​getaddrinfo''​ i struktury ''​addrinfo''​ znajdziesz na stronie manuala do getaddrinfo (''​man getaddrinfo''​).+Pełen opis funkcji ''​getaddrinfo''​ i struktury ''​addrinfo''​ znajdziesz na stronie manuala do getaddrinfo (''​man getaddrinfo''​) ​<​html><​small></​html>​ lub w standardzie POSIX ([[https://​pubs.opengroup.org/​onlinepubs/​9699919799/​functions/​freeaddrinfo.html|[1]]],​ [[https://​pubs.opengroup.org/​onlinepubs/​9699919799/​functions/​getnameinfo.html|[2]]],​ [[https://​pubs.opengroup.org/​onlinepubs/​9699919799/​functions/​gai_strerror.html|[3]]])<​html></​small></​html>​. 
 +\\ 
 +Uwaga: ''​getaddrinfo''​ w razie sukcesu zwraca ''​0'',​ a w przypadku błędu zwraca jego kod.
  
 Przykłady użycia: Przykłady użycia:
Linia 93: Linia 95:
     addrinfo * resolved;     addrinfo * resolved;
     ​     ​
-    // Z sieci PP proszę zmienić "​pool.ntp.org"​ na "​onet.pl"​ - Dział Obsługi i Eksploatacji z niezrozumiałych przyczyn cenzuruje odpowiedzi z DNS +    // Z sieci bezprzewodowej ​PP (lub innych używających serwerów nazw z podsieci 150.254.5.0/​24) 
 +    // proszę zmienić "​pool.ntp.org"​ na "​onet.pl"​ - Dział Obsługi i Eksploatacji z niezrozumiałych 
 +    // przyczyn cenzuruje odpowiedzi z DNS 
     int res = getaddrinfo("​pool.ntp.org",​ "​ntp",​ &hints, &​resolved);​     int res = getaddrinfo("​pool.ntp.org",​ "​ntp",​ &hints, &​resolved);​
     ​     ​
sk2/sockets_netdbs.1637825902.txt.gz · ostatnio zmienione: 2021/11/25 08:38 przez jkonczak