PF_INET
来源:互联网 发布:json.parse 字符串 编辑:程序博客网 时间:2024/06/11 10:03
在写网络程序的时候,建立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的值是相同的,混用也不会有太大的问题。也就是说你socket时候用PF_xxxx,设置的时候用AF_xxxx也是没关系的,这点随便找个TCPIP例子就可以验证出来了。如下,不论是AF_INET还是PF_INET都是可行的,只不过这样子的话,有点不符合规范。
在函数socketpair与socket的domain参数中有AF_UNIX,AF_LOCAL,AF_INET,PF_UNIX,PF_LOCAL,PF_INET. 这几个参数有AF_UNIX=AF_LOCAL, PF_UNIX=PF_LOCAL, AF_LOCAL=PF_LOCAL, AF_INET=PF_INET. 但是对于socketpair与socket的domain参数,使用PF_LOCAL系列, 而在初始化套接口地址结构时,则使用AF_LOCAL. 例如: z = socket(PF_LOCAL, SOCK_STREAM, 0); adr_unix.sin_family = AF_LOCAL;
0 0
- PF_INET
- AF_INET & PF_INET
- PF_INET AF_INET
- PF_INET AF_INET
- PF_INET AF_INET
- 关于AF_INET和PF_INET
- socket(PF_INET, SOCK_STREAM,0)
- 关于AF_INET和PF_INET
- 关于AF_INET和PF_INET
- 关于AF_INET和PF_INET
- AF_INET PF_INET AF_UNSPEC
- AF_INET 和 PF_INET
- PF_INET 和 AF_INET的说明!
- AF_INET和PF_INET的区别
- 关于AF_INET和PF_INET[转]
- AF_INET和PF_INET的区别
- AF_INET与PF_INET的区别
- PF_INET 和 AF_INET的区别
- Font Awesome 字体的以及 图标的使用总结
- php 获得ip地址
- 两个队列实现一个栈
- AD技巧之通过Excel快速制作原理图库
- 木棍问题
- PF_INET
- HDU 3376 Matrix Again(费用流)
- 将nginx配置成url_hash转发方式
- You must supply a layout_width attribute.解决办法
- log4j.properties配置详解
- Django1.8 更新数据库
- PHP根据地理位置信息获取经纬度
- [整理] 安装完 Ubuntu 15.04 后要做的几件事
- 数据结构之链表