我刚开始学习套接字编程,并且一直看到这个AF_INET
。
然而,我从来没有见过用其他东西来代替它。我的讲师并不是很有帮助,他们只是说“你就是需要它”。
所以我的问题是:
AF_INET
是什么?
发布于 2009-10-20 11:46:04
AF_INET
是一个af,用于指定您的套接字可以与之通信的地址类型(在本例中为互联网协议v4地址)。创建套接字时,必须指定其地址族,然后只能将该类型的地址与套接字一起使用。例如,Linux内核支持其他29个地址族,如UNIX (AF_UNIX
)套接字和IPX (AF_IPX
),还支持IRDA和蓝牙(AF_IRDA
和AF_BLUETOOTH
,但怀疑您是否会在如此低的级别上使用它们)。
在大多数情况下,坚持使用AF_INET
进行网络上的套接字编程是最安全的选择。还有用于互联网协议v6地址的AF_INET6
。
希望这能帮上忙
发布于 2009-10-20 11:36:54
AF_INET的主要目的是允许其他可能的网络协议或地址族(AF用于地址族;PF_INET用于(IPv4)互联网协议族)。例如,可能还存在一些Netware SPX/IPX网络;还有其他网络系统,如DECNet、StarLAN和SNA,更不用说不成熟的ISO (开放式系统互连),这些系统不一定使用现在无处不在的IP地址来识别网络连接中的对等主机。
AF_INET (回想起来,应该命名为AF_INET4)的普遍替代品是AF_INET6,用于IPv6地址族。IPv4使用32位地址;IPv6使用128位地址。
您可能会看到一些其他值-但它们是不寻常的。它的存在是为了考虑其他选择和未来的发展方向。套接字接口实际上是非常通用的--这也是它在其他网络接口衰落的情况下蓬勃发展的原因之一。
生活(大部分)变得更简单了--心存感激。
发布于 2013-01-17 11:29:20
套接字特征在于它们的域、类型和传输协议。常见的域有:
主机和端口号:地址格式为UNIX pathname
(实际上还有许多其他选项可用于特殊目的).usually我们使用AF_INET进行套接字编程
https://stackoverflow.com/questions/1593946
复制相似问题