(又名AF_LOCAL,在POSIX1.g标准中指定),它代表地址家族(addressfamily):UNIX。其他比较旧的系统可能会将地址家族表示成域(domain)或协议家族(protocolfamily),并使用其缩写PF而非AF。类似地,AF_LOCAL(在2000~2001年标准化)将代替AF_UNIX 面向网络的 家族名:AF_INET 或者地址家族:因特网。另一个地址家族AF_INET...
SOCK_DGRAM是基于UDP的,专门用于局域网,基于广播;SOCK_STREAM 是数据流,一般是tcp/ip协议的编程;SOCK_DGRAM是数据报,是udp协议网络编程 【AF_INET和AF_UNIX】 1、AF_INET不仅可以用作本机的跨进程通信,同样的可以用于不同机器之间的通信,其就是为了在不同机器之间进行网络互联传递数据而生。而AF_UNIX则只能用于...
有SOCK_STREAM、SOCK_DGRAM、SOCK_SEQPACKET三种工作模式 1、SOCK_STREAM 流字节套,类似TCP,由于socket发送缓冲区的缘故,多次write数据会被缓冲区整合为一次底层send。禁用TCP Nagle算法的方式对AF_UNIX无效。 #include <netinet/in.h> // for IPPROTO_TCP #include <netinet/tcp.h> // for TCP_NODELAY int n...
self.tcp_server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 写socket的那段时间,出于好奇,查了一下这个参数的意思结论如下: 1 建立socket传递的地址域,及bind()的地址结构稍有区别: socket() 分别传递不同的域AF_INET和AF_UNIX bind()的地址结构分别为sockaddr_in(制定IP端口)和sockaddr_un(指定...
//【第一步】创建--socket int server_fd=socket(AF_INET,SOCK_STREAM,0); //# AF_INET 代表:协议族,也就是IPV4 //# SOCK_STREAM 代表:socket类型 //# 0 代表:协议编号,这个其实是SOCK_STREAM的实现,0就代表第一个实现,恰巧这个SOCK_STREAM只有一个默认TCP实现 ///---所以这里就是TCP的意思,比如:S...
/*创建 socket, 通信协议为AF_UNIX, SCK_STREAM 数据方式*/ server_sockfd = socket (AF_UNIX, SOCK_STREAM, 0); /*配置服务器信息(通信协议)*/ server_address.sun_family = AF_UNIX; /*配置服务器信息(socket 对象)*/ strcpy (server_address.sun_path, "server_socket"); /*配置服务器信...
使用UNIX Domain Socket的过程和网络socket十分相似,也要先调用socket()创建一个socket文件描述符,address family指定为AF_UNIX,type可以选择SOCK_DGRAM或SOCK_STREAM,protocol参数仍然指定为0即可。 UNIX Domain Socket与网络socket编程最明显的不同在于地址格式不同,用结构体sockaddr_un表示,网络编程的socket地址是IP地址...
sockfd=socket(AF_UNIX,SOCK_STREAM,0); 内核代码的创建函数如下: staticintunix_create(structnet*net,structsocket*sock,intprotocol,intkern){sock->ops=&unix_stream_ops;returnunix_create1(net,sock,kern)?0:-ENOMEM;} unix_create函数主要做两件事情,第一件事情设置socket.ops,第二件事情创建unix_sock结...
fd = socket(AF_UNIX, SOCK_STREAM, 0); memset(&addr, 0, sizeof(struct sockaddr_un)); addr.sun_family = AF_UNIX; strncpy(addr.sun_path, path, strlen(path)); addrlen = sizeof(addr.sun_family) + strlen(path); err = bind(fd, (struct sockaddr *) &addr, addrlen); ...
本地socket使⽤AF_UNIX int socket(int domain, int type, int protocol); domain参数代表地址族,我们最常⽤的是TCP/IP协议通信中使⽤的是AF_INET,在有些情况下建⽴的socket仅限于同⼀台设备上进程间的通信,此时可以使⽤AF_UNIX或者AF_LOCAL,可以是⾯向连接的(类型 SOCK_STREAM),也...