进程间通信只用TCP

         Linux中进程间通信(IPC)常见的有:匿名管道(pipe)、具名管道(FIFO)、POSIX消息队列、共享内存、信号(signals)等,但首选是Sockets(主要指TCP)。

 

 TCP Sockets最大的优点:可以跨主机,具有伸缩性。

        可记录,可重现;可跨语言,服务端和客户端不必使用同一种语言。

同:在编程上, TCP sockets 和 pipe 都是操作文件描述符用来收发字节流,都可以 read / write / fcntl / select /poll等。

异: TCP 是双向的, Linux 的 pipe 是单向的,进程间双向通信还得开两个文件描述符,不方便,而目进程要有父子关系才能用 pipe,这些都限制了 pipe 的使用。在收发字节流这一通信模型下,没有比 Sockets / TCP 更自然的 IPC 了。

猜你喜欢

转载自blog.csdn.net/weixin_47887421/article/details/120870246
今日推荐