UNIX domain sockets
Posted 尚硅谷黑板报
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UNIX domain sockets相关的知识,希望对你有一定的参考价值。
UNIX domain socket技术是比传统的socket更优的线程间通信解决方案。
socket本来用于网络通信,数据在网络上传输时需要经过网络协议栈,需要打包拆包、计算校验和、维护序号和应答等。
请看下图:
socket技术需要考虑数据在网络上传输时的不确定性、不稳定性,所以过程复杂。
基于UNIX Domain Socket实现的IPC(Inter-Process Communication进程间通信)会更有效率,因为与socket针对不可靠的网络连接设计不同,IPC机制是针对可靠的连接而设计的。UNIX Domain Socket也提供面向流和面向数据包两种API接口,类似于TCP和UDP,但是面向消息的UNIX Domain Socket也是可靠的,消息既不会丢失也不会顺序错乱。
请看下图:
UNIX Domain Socket是全双工的,API接口语义丰富,相比其它IPC机制有明显的优越性,目前已成为使用最广泛的IPC机制,比如X Window服务器和GUI程序之间就是通过UNIX Domain Socket通讯的。
以上是关于UNIX domain sockets的主要内容,如果未能解决你的问题,请参考以下文章
错误启动(`start_unix_server': no unix-domain acceptor (RuntimeError))