UnixSocket用于环回地址通信,通信流程不经过网络层、数据链路层、物理层,不经过网络,只是内核缓冲区之间的数据拷贝,效率高一些。 一、基本结构 1 缓冲区 unix socket是基于文件系统和缓冲区实现的,内核中有个缓冲区队列unix_datas,长度取决于socket数量。 代码语言:c++ 复制 #define AF_UNSPEC 0 #define AF_UNIX 1...
创建socket的时候,也可以指定不同的参数创建不同的socket描述符,socket函数的三个参数分别为: protofamily:即协议域,又称为协议族(family)。常用的协议族有,AF_INET(IPV4)、AF_INET6(IPV6)、AF_LOCAL(或称AF_UNIX,Unix域socket)、AF_ROUTE等等。协议族决定了socket的地址类型,在通信中必须采用对应的地址,如AF...
“unix socket”可以用于多种应用场景,例如: 1. 守护进程与应用程序之间的通信:守护进程是在后台运行的进程,它通常负责监控系统的状态并做出相应的处理。应用程序可以通过“unix socket”与守护进程通信,从而实现与系统状态相关的功能。 2. 服务器与客户端之间的通信:在服务器-客户端架构中,服务器可以通过“unix soc...
UNIX Socket可以在不同编程语言中使用,并且广泛应用于各种场景,例如: 进程间通信(IPC):不同进程之间通过UNIX Socket进行数据交换,例如父子进程、无关进程或者共享内存的进程之间。 本地服务器和客户端:UNIX Socket可用于构建本地服务器,接受来自客户端的连接请求并提供服务。 网络编程的模拟和测试:在本地开发环境中,...
unix socket是常见的一种本地进程通信的方式(IPC), 其他的还有 shared memory, eventfd。 创建一个 STREAM socket 创建一个unix socket,作为server端,命令不会返回,会一直等待: # nc -U /tmp/demo.sock -l ## nc, which is short for netcat.
linux 进程间通信系列2,使用UNIX_SOCKET 1,使用stream,实现进程间通信 2,使用DGRAM,实现进程间通信 关键点:使用一个临时的文件,进行信息的互传。 s_un.sun_family = AF_UNIX;strcpy(s_un.sun_path,"/tmp/afunix_text"); 使用stream,server端:
通过调用connect()函数来连接到另一个创建的socket; 一旦连接建立起来了,就可以通过read()和write()函数调用来进行数据传输了; 最后调用close()函数关闭连接; 实现了SOCK_STREAM的通信协议栈确保数据不会丢失或者重复; 具体样例参考:见IBMhttps://www.ibm.com/docs/en/ztpf/1.1.0.15?topic=considerations-unix-dom...
socket大家应该很熟悉,以tcp/ip协议族为传输协议,用于跨主机通信,而unixsocket就是在socket的框架上发展出一种IPC机制(进程间通信),UDS(UNIX Domain Socket)提供面向流和面向数据包两种API接口,类似于TCP和UDP,其中SOCK_STREAM是很可靠的,消息既不会丢失也不会顺序错乱,比传统的socket效率更高,一般是tcp传输的两倍...
抓包Unix Socket 因为一些原因,需要抓包 Unix Socket (域套接字), 存文本数据, 后面找到了 socat 这个工具,功能较多。 测试如下: socat UNIX-CONNECT:/var/run/audispd_events - 源码下载: http://repo.iotti.biz/CentOS/8/srpms/socat-1.7.4.2-1.el8.lux.src.rpm...
nginx和fastcgi的通信方式有两种,一种是TCP的方式,一种是unixsocke方式。两种方式各有优缺点,这里先给出两种的配置方法,然后再对性能、安全性等做出总结。 TCP是使用TCP端口连接127.0.0.1:9000 Socket是使用unix domain socket连接套接字/dev/shm/PHP-cgi.sock(很多教程使用路径/tmp,而路径/dev/shm是个tmpfs,速度...