网络编程:套接字功能:地址族VS协议族
我刚开始使用网络编程。 在查看套接字函数时,有些使用PF_INET,而其他使用AF_INET。 在维基百科中,它表示这样的设计被用来支持不同协议族使用不同的地址族。 目前是否有任何支持多种地址类型的协议族?
当我在寻找Address family Vs协议族时遇到了这个错误:
Address family not supported by protocol family
这是否意味着有协议支持多个地址系列?
我遇到了这个声明
you shouldn't necessarily expect to be able to use NS addresses with ARPA Internet protocols
什么是NS地址?
谢谢。
socket
的Windows文档说,地址族是第一个参数; 我的Linux机器上的手册页说这应该是协议族。 从平台不可知的角度来看,Linux版本似乎更加正确 - 理论上,套接字具有协议族,地址具有地址族,并且两者应该兼容。
但实际上,内置协议的PF_
和AF_
宏具有相同的值(在Linux和Windows中)。 我想大多数操作系统都是类似的故事,因为所有的通用协议系列都有一个地址系列。 (你会认为IP会有两个,但是没有,IPv4和IPv6有不同的协议族。)(这与C的相对较弱的键入)允许它们几乎可以互换使用。
请注意,无法保证所有操作系统或某些第三方驱动程序支持的协议都适用于此情况。在这些情况下,您应该查阅特定平台的文档。
至于什么是“NS地址”,据我所知,它们是施乐公司史前网络系统协议的一部分(一种类似于TCP / IP的协议族,但与现代PC不同且不兼容且未使用)。 除非您使用古老的系统,否则您不会看到它们在使用中; 为什么这个例子不在我身边。
链接地址: http://www.djcxy.com/p/50855.html上一篇: network programming: Socket function: Address family Vs Protocol family
下一篇: Why aren't IStructuralEquatable and IStructuralComparable generic?