当前位置: 首页 > article >正文

AF_INET和PF_INET的细微不同

文章出处:http://hi.baidu.com/%B1%D5%C4%BF%B3%C9%B7%F0/blog/item/deddb9ef51222e4578f0551d.html

    在写网络程序的时候,建立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中,AF_INET与PF_INET完全一样,而在Unix/Linux系统中,在不同的版本中这两者有微小差别。对于BSD,是AF,对于POSIX是PF。

    理论上,建立socket时是指定协议,应该用PF_XXXX,设置地址时应该用AF_XXXX。当然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;

http://www.lryc.cn/news/2413330.html

相关文章:

  • github emoji 表情列表
  • QQFM 中转站(囧转站)OOXX V1.1 by wy811007 (附SkinH_Net的使用) 程序失效 更新1.3版 未发布
  • C语言学习(小白)
  • 中华吸血鬼分析
  • Android入门-新手如何成功创建一个Android小应用(1)
  • 电商系统架构设计浅析
  • 【HTML5期末大作业】犬夜叉动漫网站设计--动漫网站设计
  • 思科路由器忘记密码怎么办?
  • 《放下就是快乐》之体会一
  • NetworkLocation for WES7
  • 国内最大的两个网盘(rayfile和纳米盘)神秘资源下载搜索技巧
  • google发布IE插件Chrome Frame(google浏览器框架)正式版
  • 科创50大盘指数怎么买?
  • 计算机键盘练习,电脑键盘指法练习
  • MyEclipse简单配置教程及配置Tomcat
  • Python 有什么作用?
  • 10款神级安卓App,99%的人都不知道!
  • 解决linux下curl扩展的方法
  • 2015年维多利亚的秘密新晋十位天使
  • 仿京东商城html网页源码
  • 什么是直线度 直线度测量方法
  • 2022年重庆交通大学自考毕业证书申请流程
  • 利用百度Echart库,完成简单迁徙图
  • 软件实施流程(八大阶段)——软件实施工程师
  • uniapp安全加固360加固
  • django医院信息管理系统(程序+开题报告)
  • 会声会影x4素材_会声会影模版推荐—大气会声会影视频动画模版推荐
  • 数据挖掘的基本过程
  • 赢在中国主题曲《在路上》
  • QQ在线咨询显示 未启用【解决方法】