winsock2.h中的地址族unknown1是什么?

Sid*_*med 0 windows winsock2

在头文件winsock2.h中,我找到了一个名为unknown1的地址族.

这个地址族代表什么,它用于什么?

这是头文件winsock2.h的源代码,这里是包含该地址族常量的代码行:

#define AF_UNKNOWN1 20
Run Code Online (Sandbox Code Playgroud)

Han*_*ant 7

你的winsock2.h副本很奇怪,也许你是故意留下评论.我保留旧版本的SDK,它们是Windows开发的一个有趣的考古记录.我可以追溯到1996年发布的WinNT版本4 SDK以及支持Winsock v2的第一个SDK版本.它扩展了在NT 3.1和Winsock v1.1中首先支持的地址族,复制粘贴所有添加的:

#define AF_VOICEVIEW    18              /* VoiceView */
#define AF_FIREFOX      19              /* Protocols from Firefox */
#define AF_UNKNOWN1     20              /* Somebody is using this! */
#define AF_BAN          21              /* Banyan */
#define AF_ATM          22              /* Native ATM Services */
#define AF_INET6        23              /* Internetwork Version 6 */
Run Code Online (Sandbox Code Playgroud)

今天仍然看起来一样.显然评论是相关的,Somebody is using this!应该强调Somebody.它被那些在90年代中期拥有相当成功的产品的公司产品所包围,足以与微软建立合作关系,并通过Winsock 2和WinNT4验证和支持他们的产品(Firefox是一家公司,而不是浏览器btw) .

因此,一个看似合理的情况是测试人员发现冲突,否则他知道他的机器有多脏,并提交了错误报告.如果微软在1996年不知道,那么,没人知道.时间对这些公司及其产品并不友好,TCP/IP的主导地位和Dot-com泡沫破灭使所有这些公司丧命.当然,Somebody Inc发生了同样的情况:)

  • 他的意思是,我猜,那个时候没有人在微软知道当年为了什么`AF_UNKNOWN1`实际使用(因此评论"_Somebody_用这个!",这是不太可能有人甚至在今天知道它 - 20年后. (2认同)