AF_INET与PF_INET的区别

答案是没有区别

unix的网络编程中,通过socket函数创建套字节。

#include <sys/socket.h>

sockfd = socket(int socket_family, int socket_type, int protocol);

创建网络套字节时socket_family既可以时AF_INET又可以是PF_INET。
AF_INET代表地址族的缩写address family
PF_INET代表协议族的缩写protocol family
早期的socket api的设计者认为同一个地址族可以被多个不同的协议族使用。但实际上这个特性并未被实现,所以后来AF_INET和PF_INET可以认为没任何区别。
在linux系统的源码中也可以看到如下宏定义

#define PF_INET         AF_INET

参考:

https://beej.us/guide/bgnet/html/#structsockaddrman

posted @ 2021-02-27 14:09  xnuwu  阅读(2042)  评论(0编辑  收藏  举报