在socket编程中,AF_INET和PF_INET都是用于指定协议族的常量。 AF_INET代表地址族(Address Family)中的IPv4协议族(Internet Protocol version 4),该协议族是目前互联网中最常用的协议族。 PF_INET代表协议族(Protocol Family)中的IPv4协议族。 实际上,在实际使用中,AF_INET和PF_INET可以互换使用,它们的取值都是相...
对于BSD,是AF,对于POSIX是PF UNIX系统支持AF_INET,AF_UNIX,AF_NS等,而DOS,Windows中仅支持AF_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....
在Linux系统中,我们可以使用socket函数来创建网络应用程序,实现网络通信。而在网络编程中,涉及到网络套接字的相关操作,如PF_INET协议族,用于IPv4网络通信。 PF_INET是常用的网络协议族之一,用于指定网络套接字的地址及协议类型。在Linux系统中,常用的网络编程接口为socket函数,其中的参数PF_INET表示创建一个IPv4协议族...
编程语言专家曾对 Zig 编程语言的创造者 Andrew Kelley 说,在编译时运行代码是个蠢主意。尽管如此,Kel...
二、内核如何与用户进程协作 //创建Socket的c语言程序 ... int main(){ int sk = socket(PF_INET, SOCK_STREAM, 0); //忽略bind和accept ... } 2.1 读取视角:Linux socket 结构 2.1.1 socket源码
(lib, "ws2_32.lib") //连接winsock2.h的静态库文件using namespace std;int main(){//加载winsock库WSADATA wsadata;WSAStartup(MAKEWORD(2, 3), &wsadata);//客户端socketSOCKET clientSock = socket(PF_INET, SOCK_STREAM, 0);//初始化socket信息//memset:作用是在一段内存块中填充某个给定的值,它...
使用PF_INET和SOCK_STREAM 目前,在domain参数为PF_INET的SOCK_STREAN的套接口中,protocol的参数为0意味着内核选择IPPROTO_TCP,也就是套接口使用TCP/IP协议。 使用PF_INET和SOCK_DGRAM 这个组合告诉内核选择UDP协议。也就是选择IPPROTO_UDP。 下表是一个总结: ...
本教程使用 IPv4 地址,参数 af 的值为 PF_INET。如果使用 SOCK_STREAM 传输数据,那么满足这两个条件的协议只有 TCP,因此可以这样来调用 socket() 函数: int tcp_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); //IPPROTO_TCP表示TCP协议
af参数:af 为地址族(Address Family),也就是 IP 地址类型,常用的有 AF_INET 和 AF_INET6,其前缀也可以是PF(Protocol Family),即PF_INET 和 PF_INET6。 type参数:type 为数据传输方式,常用的有 面向连接(SOCK_STREAM)方式(即TCP) 和 无连接(SOCK_DGRAM)的方式(即UDP)。
AF_INET = PF_INET 所以在windows中AF_INET与PF_INET完全一样. 而在Unix/Linux系统中,在不同的版本中这两者有微小差别.对于BSD,是AF,对于POSIX是PF. 理论上建立socket时是指定协议,应该用PF_xxxx,设置地址时应该用AF_xxxx。当然AF_INET和PF_INET的值是相同的,混用也不会有太大的问题。