Co to jest AF INET i dlaczego go potrzebuję?

Zaczynam programowanie socket i ciągle widzę to AF_INET.

/ Align = "center" bgcolor = "# e0ffe0 " / cesarz chin / / align = center / Moi wykładowcy nie są tak pomocni i po prostu mówią "po prostu tego potrzebujesz". Więc moje pytania:
  • jaki jest cel AF_INET?
  • Czy kiedykolwiek użyto czegoś innego zamiast tego?
      Jeśli nie, to dlaczego tam jest? Na ewentualne zmiany w przyszłości?
  • Jeśli tak, to co i dlaczego?
 217
Author: Matthias Braun, 2009-10-20

5 answers

AF_INET jest rodziną adresów, która jest używana do wyznaczenia typu adresów, z którymi gniazdo może się komunikować(w tym przypadku adresy protokołu internetowego v4). Kiedy tworzysz Gniazdo, musisz określić jego rodzinę adresów, a następnie możesz używać tylko adresów tego typu z gniazdem. Na przykład jądro Linuksa obsługuje 29 innych rodzin adresów, takich jak gniazda UNIX (AF_UNIX) i IPX (AF_IPX), a także komunikację z IRDA i Bluetooth (AF_IRDA i AF_BLUETOOTH, ale jest to wątpliwe będziesz ich używać na tak niskim poziomie).

W większości przypadków trzymanie się AF_INET dla programowania gniazd przez sieć jest najbezpieczniejszą opcją. Istnieje również AF_INET6 dla adresów protokołu internetowego v6.

Mam nadzieję, że to pomoże,

 292
Author: George Shore,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-15 08:08:17

Głównym celem AF_INET było dopuszczenie innych możliwych protokołów sieciowych lub rodzin adresów (AF to rodzina adresów; PF_INET to rodzina protokołów internetowych (IPv4)). Na przykład prawdopodobnie nadal istnieje kilka sieci Netware SPX/IPX; istniały inne systemy sieciowe, takie jak DECNet, StarLAN i SNA, nie wspominając o źle zrodzonym ISO OSI (Open Systems Interconnection), a te niekoniecznie wykorzystywały wszechobecny obecnie adres IP do identyfikacji hosta rówieśniczego w sieci. połączenia sieciowe.

Wszechobecną alternatywą dla AF_INET (który z perspektywy czasu powinien być nazwany AF_INET4) jest AF_INET6, dla rodziny adresów IPv6. IPv4 używa adresów 32-bitowych; IPv6 używa adresów 128-bitowych.

Możesz zobaczyć inne wartości-ale są one nietypowe. Jest po to, aby umożliwić alternatywne i przyszłe kierunki. Interfejs socketów jest rzeczywiście bardzo ogólny - co jest jednym z powodów, dla których rozwijał się tam, gdzie inne interfejsy sieciowe mają uschły.

Życie (w większości) stało się prostsze-bądź wdzięczny.

 47
Author: Jonathan Leffler,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-10-20 12:11:30

Gniazda charakteryzują się domeną, typem i protokołem transportowym. Wspólne domeny to:

  1. AF_UNIX: format adresu to UNIX pathname

  2. AF_INET: format adresu To host i numer portu

(istnieje wiele innych opcji, które mogą być użyte tutaj do celów specjalistycznych).zwykle używamy AF_INET do programowania gniazd

Numer referencyjny: http://www.cs.uic.edu / ~troy/fall99/eecs471/sockets.html

 16
Author: Asish P Mathew,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-15 05:58:03

Potrzebujesz argumentów takich jak AF_UNIX lub AF_INET, aby określić, jakiego typu adresowania gniazd używasz do implementacji komunikacji gniazd IPC. Af oznacza rodzinę adresów.

Jak w standardowym gnieździe BSD (przyjętym w module gniazd Pythona) adresy są reprezentowane w następujący sposób:

  1. Dla rodziny adresów AF_UNIX/AF_LOCAL używany jest pojedynczy ciąg znaków. Ta opcja jest używana dla IPC na komputerach lokalnych, gdzie nie jest wymagany adres IP.

  2. Para (host, port) jest używany dla rodziny adresów AF_INET, gdzie host jest ciągiem znaków reprezentującym nazwę hosta w notacji domeny internetowej, np. "daring.cwi.nl' lub adres IPv4, taki jak '100.50.200.5', a port jest liczbą całkowitą. Używany do komunikacji między procesami przez Internet.

AF_UNIX, AF_INET6 , AF_NETLINK , AF_TIPC , AF_CAN , AF_BLUETOOTH , AF_PACKET, AF_RDS to inne opcje, które mogą być używane zamiast AF_INET.

Ten wątek o przydatne mogą być również różnice między AF_INET i PF_INET .

 15
Author: Avi Mehenwal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:26:10

Definiuje rodzinę adresów protokołów.określa typ utworzonego gniazda. obsługa Pocket pc AF_INET.

Treść na poniższej stronie jest całkiem przyzwoita http://etutorials.org/Programming/Pocket+pc+network+programming/Chapter+1.+Winsock/Streaming+TCP+Sockets/

 2
Author: chandan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-03 01:55:42