当前位置:问百问>生活百科>socket编程为什么要选择AF_INET?

socket编程为什么要选择AF_INET?

2024-08-16 08:34:25 编辑:zane 浏览量:535

socket编程为什么要选择AF_INET?

的有关信息介绍如下:

选择 AF_INET 的目的就是使用 IPv4 进行通信。因为 IPv4 使用 32 位地址,相比 IPv6 的 128 位来说,计算更快,便于用于局域网通信。

而且 AF_INET 相比 AF_UNIX 更具通用性,因为 Windows 上有 AF_INET 而没有 AF_UNIX。

注:AF_INET(又称 PF_INET)是 IPv4 网络协议的套接字类型,AF_INET6 则是 IPv6 的;而 AF_UNIX 则是 Unix 系统本地通信。

socket编程为什么要选择AF_INET?

AF_INET和PF_INET的区别

1、AF 表示ADDRESS FAMILY 地址族 

2、PF 表示PROTOCL FAMILY 协议族

3、Winsock2.h中

#define AF_INET 0

#define PF_INET AF_INET

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

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

在函数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;

版权声明:文章由 问百问 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.wenbwen.com/life/137130.html
热门文章