Wat is af_inet en waarom heb ik het nodig?

Ik begin aan de slag op socket-programmering, en ik blijf dit AF_INET.

nog, ik heb nog nooit iets anders op zijn plaats gezien. Mijn docenten zijn niet zo behulpzaam en zeggen gewoon: “Je hebt het gewoon nodig”.

Dus mijn vragen:

  • Wat is het doel van AF_INET?
  • is iets anders dat ooit in plaats daarvan wordt gebruikt?
    • Zo niet, waarom is het daar? Voor mogelijke veranderingen in de toekomst?
    • Zo ja, wat en waarom?

Antwoord 1, Autoriteit 100%

AF_INETis een adresfamilie dat wordt gebruikt om het type adressen aan te wijzen dat uw socket kan communiceren (in dit geval, internetprotocol V4-adressen). Wanneer u een socket maakt, moet u zijn adresfamilie opgeven en vervolgens kunt u alleen adressen van dat type met de socket gebruiken. De Linux-kernel ondersteunt bijvoorbeeld 29 andere adresfamilies zoals Unix (AF_UNIX) Sockets en IPX (AF_IPX), en ook communicatie met IRDA en Bluetooth (AF_IRDAEN AF_BLUETOOTH, maar het is twijfelachtig, u zult deze op zo’n laag niveau gebruiken).

Voor het grootste deel, vasthouden met AF_INETvoor socket programmering via een netwerk is de veiligste optie. Er is ook AF_INET6voor internetprotocol V6-adressen.

Ik hoop dat dit helpt,


Antwoord 2, Autoriteit 15%

Het primaire doel van AF_INET was om andere mogelijke netwerkprotocollen of adresfamilies mogelijk te maken (AF is voor adresfamilie; PF_INET is voor de (IPv4) internetprotocolfamilie). Er zijn bijvoorbeeld waarschijnlijk nog een paar Netware SPX/IPX-netwerken; er waren andere netwerksystemen zoals DECNet, StarLAN en SNA, om nog maar te zwijgen van de ongeboren ISO OSI (Open Systems Interconnection), en deze gebruikten niet noodzakelijk het nu alomtegenwoordige IP-adres om de peerhost in netwerkverbindingen te identificeren.

Het alomtegenwoordige alternatief voor AF_INET (dat achteraf gezien AF_INET had moeten heten) is AF_INET6, voor de IPv6-adresfamilie. IPv4 gebruikt 32-bits adressen; IPv6 gebruikt 128-bits adressen.

Mogelijk ziet u enkele andere waarden, maar deze zijn ongebruikelijk. Het is er om alternatieven en toekomstige richtingen mogelijk te maken. De sockets-interface is eigenlijk heel algemeen – en dat is een van de redenen waarom het zo goed gedijt waar andere netwerkinterfaces zijn uitgestorven.

Het leven is (meestal) eenvoudiger geworden – wees dankbaar.


Antwoord 3, autoriteit 5%

Sockets worden gekenmerkt door hun domein, type en transportprotocol. Veelvoorkomende domeinen zijn:

  1. AF_UNIX: adresformaat is UNIX-padnaam

  2. AF_INET: adresformaat is host- en poortnummer

(er zijn eigenlijk veel andere opties die hier voor gespecialiseerde doeleinden kunnen worden gebruikt). gewoonlijk gebruiken we AF_INET voor socketprogrammering

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


Antwoord 4, autoriteit 5%

Je hebt argumenten zoals AF_UNIX of AF_INET nodig om aan te geven welk type socketadressering je zou gebruiken om IPC-socketcommunicatie te implementeren. AF staat voor Adres Familie.

Net als in de BSD-standaard Socket (aangenomen in de Python-socketmodule) worden adressen als volgt weergegeven:

  1. Er wordt één string gebruikt voor de AF_UNIX/AF_LOCAL adresfamilie. Deze optie wordt gebruikt voor IPC op lokale machines waar geen IP-adres vereist is.

  2. Een paar (host, poort) wordt gebruikt voor de AF_INET-adresfamilie, waarbij host een tekenreeks is die ofwel een hostnaam in internetdomeinnotatie zoals ‘daring.cwi.nl’ of een IPv4-adres zoals ‘100.50. 200.5’, en poort is een geheel getal. Wordt gebruikt om te communiceren tussen processen via internet.

AF_UNIX , AF_INET6 , AF_NETLINK , AF_TIPC , AF_CAN , AF_BLUETOOTH , AF_PACKET , AF_RDSzijn andere opties die kunnen worden gebruikt in plaats van AF_INET.

Deze thread over de verschillen tussen AF_INET en PF_INETkunnen ook nuttig zijn.


Antwoord 5

het definieert de adresfamilie van de protocollen. Dit bepaalt het type socket dat wordt gemaakt.
pocket pc-ondersteuning AF_INET.

de inhoud op de volgende pagina is heel behoorlijk
http://etutorials.org /Programmeren/Pocket+pc+netwerk+programmeren/Hoofdstuk+1.+Winsock/Streaming+TCP+Sockets/


Antwoord 6

“Wat is AF_INET en waarom heb ik het nodig?”

Het betekent het gebruik van het IPv4-protocol. In tegenstelling tot IPv6 of een ander protocol.

Other episodes