在socket编程中,AF_INET和PF_INET都是用于指定协议族的常量。 AF_INET代表地址族(Address Family)中的IPv4协议族(Internet Protocol version 4),该协议族是目前互联网中最常用的协议族。 PF_INET代表协议族(Protocol Family)中的IPv4协议族。 实际上,在实际使用中,AF_INET和PF_INET可以互换使用,它们的取值都是相...
sockfd = socktet(AF_INET, SOCK_RAW, IPPROTO_ICMP);第一个参数:协议族 AF_INET 代表TCP/IP协议第二个参数:SOCKET类型第三个参数:协议类型,参数值为IPPROTO_xxx 的常量,在<netinet/in.h>中可以看到相关协议的类型:/usr/include/netinet/in.h如果指定协议为0时,原始套接字可以接收内核传...
创建套接字的函数是socket(),函数原型为: #include <sys/types.h>#include<sys/socket.h>intsocket(intdomain,inttype,intprotocol); 其中“int domain”参数表示套接字要使用的协议簇,协议簇的在“linux/socket.h”里有详细定义,常用的协议簇: AF_UNIX(本机通信) AF_INET(TCP/IP-IPv4) AF_INET6(TCP/I...
2. ipv4_conntrack_in() 该钩子函数是连接跟踪子系统在PRE_ROUTING处注册的第二个钩子,它的优先级比ipv4_conntrack_defrag()低,它将完成AF_INET协议族数据包在连接跟踪子系统入口处要做的所有事情。 static unsigned int ipv4_conntrack_in(unsigned int hooknum, struct sk_buff *skb, const struct net_device...
创建套接字时,用该字段指定地址家族,对于TCP/IP协议的,必须设置为AF_INET。
1、socket函数声明在sys/socket.h中 2、AF_INET、SOCK_STREAM 是2个整型参数,其中:AF_INET:IPV4 internet协议 SOCK_STREAM:面向连接的全双工字节流通信
源码位置 net\inet\af_inet.c BSD socket层对应的套接字结构是 socket 结构,这是一个通用的套接字结构,INET socket 层则使用的是 sock 结构,这是一个比 socket 更复杂的结构,具体到某种协议,一个通用,一个是具体。该结构比较庞大,我们就在函数内部对涉及到的 sock 结构变量分析算了。
AF = Address Family PF = Protocol Family 意思就是 AF_INET 主要是用于互联网地址,而 PF_INET 是协议相关,通常是sockets和端口 AF_INET address即使用IP。
PF_INET6, AF_INET6: Ipv6网络协议。type参数的作用是设置通信的协议类型,可能的取值如下所示:SOCK_STREAM: 提供面向连接的稳定数据传输,即TCP协议。OOB: 在所有数据传送前必须使用connect()来建立连接状态。SOCK_DGRAM: 使用不连续不可靠的数据包连接。SOCK_SEQPACKET: 提供连续可靠的数据包连接...