socket编程中AF_INET和PF_INET有什么区别?
我对在socket()和中使用 AF_INET 和 PF_INET 感到困惑bind()。
socket()
bind()
另外,如何在sin_addr字段中提供IP地址?
sin_addr
Beej 著名的网络编程指南给出了很好的解释:
在某些文档中,您会看到提到神秘的“PF_INET”。这是自然界中很少见的一种诡异的虚灵兽,不过在这里我还是稍微澄清一下吧。很久以前,人们认为也许一个地址族(“AF_INET”中的“AF”代表什么)可能支持其协议族引用的多个协议(“PF_INET”中的“PF”代表什么) )。 那没有发生。那好吧。所以正确的做法是在你的 struct sockaddr_in 中使用 AF_INET,在你对 socket() 的调用中使用 PF_INET。但实际上,您可以在任何地方使用 AF_INET。而且,因为这就是 W. Richard Stevens 在他的书中所做的,这就是我将在这里做的。