在写网络程序的时候,建立TCP socket:
   sock = socket(PF_INET, SOCK_STREAM, 0);
然后在绑定本地地址或连接远程地址时需要初始化sockaddr_in结构,其中指定address family时一般设置为AF_INET,即使用IP。

相关头文件中的定义:

                    AF = Address Family
                    PF = Protocol Family
                    AF_INET = PF_INET

在windows中的Winsock2.h中,

                    #define AF_INET 0
                    #define PF_INET AF_INET

所以在windows中AF_INET与PF_INET完全一样. 

在Unix/Linux系统中,在不同的版本中这两者有微小差别.对于BSD,是AF,对于POSIX是PF.

理论上建立socket时是指定协议,应该用PF_xxxx,设置地址时应该用AF_xxxx。当然AF_INET和PF_INET的值是相同的,混用也不会有太大的问题

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-01
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-09-05
  • 2021-08-03
  • 2022-12-23
  • 2021-10-19
  • 2022-12-23
相关资源
相似解决方案