UNIX domain sockets

Posted 尚硅谷黑板报

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UNIX domain sockets相关的知识,希望对你有一定的参考价值。

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))

Unix domain socket

【socket】关于Unix域套接字(Unix Domain Socket)

UNIX domain sockets

Unix domain socket 简介

通过 Unix Domain Socket 传递文件描述符