socket编程为什么要选择AF_INET?

作者&投稿:谭盲 (若有异议请与网页底部的电邮联系)
AF_INET中的INET是什么意思!!!?求教高手,谢谢!~

我们一般的英特网局域网用的就是这个,AF_INET只是一个标识而已。
定义是这样的 #define AF_INET 2 // internetwork: UDP, TCP, etc.
INET:internetwork

选择 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 系统本地通信。

扩展资料:

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;



我们一般的英特网局域网用的就是这个,AF_INET只是一个标识而已。
定义是这样的
#define AF_INET 2 // internetwork: UDP, TCP, etc.

此外还有IPX网络,红警用的就是IPX。
#define AF_IPX AF_NS // IPX protocols: IPX, SPX, etc.
还有ATM网络,就不一一列举了。
这些都定义在了winsock2.h文件中

socket()是网络编程的套接字。第一参数表示通信使用的的协议AF_INET表示IPV4,AF_INET表示IPV6,AF_UNIX,AF_LOCAL表示本地通信

AF 表示ADDRESS FAMILY 地址族
PF 表示PROTOCL FAMILY 协议族
Winsock2.h中
#define AF_INET 0
#define PF_INET AF_INET

socket传递数据前需要数据封装,里面需要
AF_INET的支持。

因为通常情况下我们是在IPv4互联网下编写socket程序,所以要选择AF_INET;


ocket问题,listen端口和connect端口是同一个的错误
1. 一般的socket connect 流程 socket()connect()这是最常见的流程,会出现你提问中所希望的结果(引用):"退一步说如果33021端口acess.exe程序connect失败,由于代码错误的问题导致acess.exe绑定并监听33021端口,按照socket的connect函数的解释,他会去找到一个未被占用的端口去建立新的connect,也不应...

杭州易思维面试有几部
1、技术题会问一些基础的编程,数据结构,算法,模板。2、STL,计算机网络,操作系统和ocket编程的知识

套接字什么意思?
Socket可以看成在两个程序进行通讯连接中的一个端点,一个程序将一段信息写入Socket中,该订ocket将这段信息发送给另外一个Socket中,使这段信息能传送到其他程序中。你还可以参考一下这的 myvatican.blogchina\/1636441 JAVA中什么是套接字???你打电话需要有电话或手机吧?套接字就是手机。你打的...

JAVA问题 UDP协议中的端口问题
SetSoTimeout(int timeout):设置超时时间,单位为毫秒。Close():关闭DatagramSocket。在应用程序退出的? 焙颍?ǔ;嶂鞫?头抛试矗?乇誗ocket,但是由于异常地退出可能造成资源无法回收。所以,应该在程序完成时,主动使用此方法关闭Socket,或在捕获到异常抛出后关闭Socket。“阻塞”是一个专业名词,它...

C++编程中执行 cl.exe 时出错应该如何解决
用这里提到的解决办法试试:http:\/\/hi.baidu.com\/dimlip\/blog\/item\/469bac955a8c000f7af480f8.html 参考资料:http:\/\/hi.baidu.com\/dimlip\/blog\/item\/469bac955a8c000f7af480f8.html

怎么关闭UDP端口问题
SetSoTimeout(int timeout):设置超时时间,单位为毫秒。Close():关闭DatagramSocket。在应用程序退出的? 焙颍�ǔ;嶂鞫�头抛试矗�乇誗ocket,但是由于异常地退出可能造成资源无法回收。所以,应该在程序完成时,主动使用此方法关闭Socket,或在捕获到异常抛出后关闭Socket。...

鄂州市17220191419: socket编程中为什么设置socket选项? -
姜届兰释: 很多网络编程的优化,都是通过socket选项来实现的,socket选项丰富了socket的功能.

鄂州市17220191419: socket编程,send recv函数 非诚勿扰啊 -
姜届兰释: 这取决于你使用的协议.一般使用SOCKET都是使用TCP协议socket(AF_INET, SOCK_STREAM, 0),或者是UDP协议socket(AF_INET, SOCK_DGRAM, 0).当然还有原始套接口和UNIX域协议,这个就不扯远了.如果是TCP,系统自动完成工...

鄂州市17220191419: socket(PF - INET, SOCK - STREAM, 0);//socket编程,参数置AF - INET;与PF - INET区别是什么 -
姜届兰释: AF 表示ADDRESS FAMILY 地址族 PF 表示PROTOCOL FAMILY 协议族 但这两个宏定义是一样的 所以使用哪个都没有关系 Winsock2.h中 #define AF_INET 0 #define PF_INET AF_INET 所以在windows中AF_INET与PF_INET完全一样 ...

鄂州市17220191419: socket编程好难啊,怎么学 -
姜届兰释: 1. socket编程一般就是Socket和WinSock.都是C语言的.C++有封装好的类.用起来就更容易一些.2. 感觉关于C/C++的Socket编程不是很多,不过很多讲TCP/IP的都会讲Socket,就直接学TCP/IP编程的资料好了.3. 入门的程序挺多的,不过...

鄂州市17220191419: python import 和 from XX import * 的区别我import了一个socket模块,运行的时候说是没有AF - INET 这个族.于是 把import socket改成了 from socket import * ... -
姜届兰释:[答案] import socket的话 要用socket.AF_INET 因为AF_INET这个值在socket的名称空间下 from socket import* 是把socket下的所有名字引入当前名称空间

鄂州市17220191419: linux unix domain socket 绑定文件有什么用 -
姜届兰释: socket API原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机制,就是UNIXDomain Socket.虽然网络socket也可用于同一台主机的进程间通讯(通过loopback地址127.0.0.1),但是UNIX Domain Socket用于IPC更有效率:...

鄂州市17220191419: python网络编程tcp客户端怎么写 -
姜届兰释: 大多数连接都是可靠的TCP连接.创建TCP连接时,主动发起连接的叫客户端,被动响应连接的叫服务器.举个例子,当我们在浏览器中访问新浪时,我们自己的计算机就是客户端,浏览器会主动向新浪的服务器发起连接.如果一切顺利,新浪...

鄂州市17220191419: 为什么socket(AF - INET,SOCK - STREAM,0);总是返回 - 1? -
姜届兰释: DELPHI中调用socket(AF_INET,SOCK_STREAM,0);老是返回-1?

鄂州市17220191419: linux socket编程后是tcp还是udp -
姜届兰释: Linux socket编程既可以是TCP连接,也可以是UDP连接.Linux socket编程首先要用socket系统调用创建一个套接字,socket系统调用的原型是: int socket(int domain, int type, int protocol); 当socket函数的type参数指定为SOCK_STREAM时,就相当于建立的是个TCP连接;当type参数指定为SOCK_DGRAM时,建立的就是一个UDP连接.当建立TCP或者UDP连接的时候,注意把第一个参数domain指定为AF_INET.

鄂州市17220191419: sClient=socket(AF - INET,SOCK - STREAM,0)意思是什么 -
姜届兰释: 生成一个TCP的socketFunction: int socket (int namespace, int style, int protocol) This function creates a socket and specifies communication style style, which should be one of the socket styles listed in 16.2 Communication Styles. The ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网