fre*_*esk 7 network-programming
我刚开始使用网络编程.在查看套接字函数时,有些人使用PF_INET,而其他人则使用AF_INET.在维基百科中查看,它说这种设计用于支持不同协议族使用不同的地址族.今天有没有这样的协议系列支持多种地址类型?
我在搜索Address family Vs Protocol系列时也遇到了这个错误:
Address family not supported by protocol family
Run Code Online (Sandbox Code Playgroud)
这是否意味着有协议支持多个地址系列?
我发现了这个说法
you shouldn't necessarily expect to be able to use NS addresses with ARPA Internet protocols
Run Code Online (Sandbox Code Playgroud)
什么是NS地址?
谢谢.
Windows 文档socket
说地址族是第一个参数;我的 Linux 机器上的手册页说这应该是协议族。从与平台无关的角度来看,Linux 版本似乎稍微正确一些——理论上,套接字有协议族,地址有地址族,两者应该兼容。
但实际上,内置协议的PF_
和宏具有相同的值(在 Linux 和 Windows 中)。AF_
我想对于大多数操作系统来说都是类似的情况,因为所有常见的协议系列都有一个地址系列。(您可能认为 IP 会有两个,但事实并非如此。IPv4 和 IPv6 有不同的协议族。)这(以及 C 相对较弱的类型)允许它们几乎可以互换使用。
请注意,不能保证所有操作系统或某些第三方驱动程序支持的协议等都是如此。在这些情况下,您应该查阅特定平台的文档。
至于“NS 地址”是什么,据我所知,它们是 Xerox 史前网络系统协议的一部分(类似于 TCP/IP 的协议族,但不同且不兼容,现代 PC 未使用)。除非您使用的是陈旧的系统,否则您不会看到它们在使用中。我不明白为什么要保留这个例子。
归档时间: |
|
查看次数: |
3335 次 |
最近记录: |