Ich fange mit der Socket-Programmierung an und sehe das immer wieder AF_INET
.
Ich habe jedoch noch nie etwas anderes an seiner Stelle gesehen. Meine Dozenten sind nicht so hilfreich und sagen einfach "Sie brauchen es einfach".
Also meine Fragen:
- Was ist der Zweck von
AF_INET
? - Wird jemals etwas anderes verwendet?
- Wenn nicht, warum ist es dort? Für mögliche Änderungen in der Zukunft?
- Wenn ja, was und warum?
Sie benötigen Argumente wie AF_UNIX oder AF_INET, um anzugeben, welche Art von Socket-Adressierung Sie zur Implementierung der IPC-Socket-Kommunikation verwenden würden. AF steht für Address Family.
Wie im BSD-Standard werden Socket-Adressen (im Python-Socket-Modul übernommen) wie folgt dargestellt:
Für die Adressfamilie AF_UNIX / AF_LOCAL wird eine einzelne Zeichenfolge verwendet. Diese Option wird für IPC auf lokalen Computern verwendet, auf denen keine IP-Adresse erforderlich ist.
Ein Paar (Host, Port) wird für die AF_INET-Adressfamilie verwendet, wobei Host eine Zeichenfolge ist, die entweder einen Hostnamen in der Internetdomänennotation wie 'daring.cwi.nl' oder eine IPv4-Adresse wie '100.50.200.5' darstellt, und Port ist eine ganze Zahl. Wird verwendet, um zwischen Prozessen über das Internet zu kommunizieren.
AF_UNIX, AF_INET6, AF_NETLINK, AF_TIPC, AF_CAN, AF_BLUETOOTH, AF_PACKET, AF_RDS sind andere Option , die statt verwendet werden könnten AF_INET .
Dieser Thread über die Unterschiede zwischen AF_INET und PF_INET könnte ebenfalls nützlich sein.
quelle
Socket zeichnen sich durch Domäne, Typ und Transportprotokoll aus. Übliche Domänen sind:
AF_UNIX: Das Adressformat ist der UNIX-Pfadname
AF_INET: Das Adressformat ist Host- und Portnummer
(Es gibt tatsächlich viele andere Optionen, die hier für spezielle Zwecke verwendet werden können.) Normalerweise verwenden wir AF_INET für die Socket-Programmierung
Referenz: http://www.cs.uic.edu/~troy/fall99/eecs471/sockets.html
quelle
Es definiert die Adressfamilie der Protokolle. Dies bestimmt den Typ des erstellten Sockets. Taschen-PC-Unterstützung AF_INET.
Der Inhalt auf der folgenden Seite ist recht anständig. http://etutorials.org/Programming/Pocket+pc+network+programming/Chapter+1.+Winsock/Streaming+TCP+Sockets/
quelle