我开始了套接字编程,我一直看到这个AF_INET。
AF_INET
然而,我从未见过任何其他东西被用来代替它。我的老师并没有那么乐于助人,只是说“你只是需要它”。
所以我的问题是:
AF_INET的主要目的是允许其他可能的网络协议或地址族(AF是地址族;PF_INET用于(IPv4)互联网协议族。例如,可能仍然有一些Netware SPX/IPX网络;还有其他的网络系统,如DECNet、StarLAN和SNA,更不用说诞生不良的ISO OSI(开放系统互连),这些系统不一定使用现在普遍存在的IP地址来识别网络连接中的对等主机。
AF_INET的普遍替代方案(回顾一下,应该命名为AF_INET4)是AF_INET6,用于IPv6地址族。IPv4使用32位地址;IPv6使用128位地址。
您可能会看到其他一些值-但它们是不寻常的。它的存在是为了允许选择和未来的方向。套接字接口实际上非常通用——这是它在其他网络接口萎缩的地方蓬勃发展的原因之一。
生活(大部分)变得简单了——心存感激。
AF_INET是一个一个ddress family,用于指定套接字可以与之通信的地址类型(在本例中是Internet Protocol v4地址)。创建套接字时,必须指定其地址族,然后只能在套接字中使用该类型的地址。例如,Linux内核支持29个其他地址族,如UNIX (AF_UNIX)套接字和IPX (AF_IPX),还支持与IRDA和蓝牙通信(AF_IRDA和AF_BLUETOOTH,但在如此低的级别上使用它们是值得怀疑的)。
AF_UNIX
AF_IPX
AF_IRDA
AF_BLUETOOTH
在大多数情况下,在网络上进行套接字编程时坚持使用AF_INET是最安全的选择。还有AF_INET6用于Internet协议v6地址。
AF_INET6
希望这能有所帮助,
套接字由它们的域、类型和传输协议来描述。常见的域名有:
AF_UNIX:地址格式为UNIX路径名
AF_INET:地址格式为主机和端口号
(实际上还有许多其他选项可以用于特殊目的)。通常我们使用AF_INET进行套接字编程
参考:http://www.cs.uic.edu/~troy/fall99/eecs471/sockets.html
您需要像AF_UNIX或AF_INET这样的参数来指定您将使用哪种类型的套接字寻址来实现IPC套接字通信。AF代表地址族。
与BSD标准套接字(Python套接字模块采用)一样,地址的表示方式如下:
一个字符串用于AF_UNIX/AF_LOCAL地址族。此选项用于不需要IP地址的本地机器上的IPC。
一个对(host, port)用于AF_INET地址族,其中host是一个字符串,表示Internet域表示法中的主机名,如' dare .cwi。nl'或IPv4地址,如'100.50.200.5',port为整数。用于在Internet上的进程之间进行通信。
Af_unix, af_inet6, af_netlink, af_tipc, af_can, af_bluetooth, af_packet, af_rds是可以用来代替AF_INET的其他选项。
这个关于AF_INET和PF_INET的区别也可能有用。
它定义了协议地址族。这决定了所创建的套接字的类型。 pocket pc支持AF_INET.
下面这页的内容相当不错 http://etutorials.org/Programming/Pocket+pc+network+programming/Chapter+1.+Winsock/Streaming+TCP+Sockets/ < / p >