小编典典

socket编程中AF_INET和PF_INET有什么区别?

all

socket编程中AF_INET和PF_INET有什么区别?

我对在socket()和中使用 AF_INET 和 PF_INET 感到困惑bind()

另外,如何在sin_addr字段中提供IP地址?


阅读 106

收藏
2022-05-31

共1个答案

小编典典

Beej 著名的网络编程指南给出了很好的解释:

在某些文档中,您会看到提到神秘的“PF_INET”。这是自然界中很少见的一种诡异的虚灵兽,不过在这里我还是稍微澄清一下吧。很久以前,人们认为也许一个地址族(“AF_INET”中的“AF”代表什么)可能支持其协议族引用的多个协议(“PF_INET”中的“PF”代表什么)
)。
那没有发生。那好吧。所以正确的做法是在你的 struct sockaddr_in 中使用 AF_INET,在你对 socket() 的调用中使用
PF_INET。但实际上,您可以在任何地方使用 AF_INET。而且,因为这就是 W. Richard Stevens
在他的书中所做的,这就是我将在这里做的。

2022-05-31