Ten Years

十年一剑!
-------------------------------------------------
Operating System Research / Technique

Tuesday, January 30, 2007

AF_INET和PF_INET的区别

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

问题是AF_INET和PF_INET到底有什么区别,甚至很多参考书上都是混用。今天查了一下相关头文件的定义,找到了答案。

AF = Address Family
PF = Protocol Family
AF_INET = PF_INET

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

Post a Comment

1 Comments:

Post a Comment

<< Home