PYTHON中的套接字与多处理.Connection.Listener

问题描述

我知道在Python中实现IPC有不同的方法,比如PipesQueue;但根据Python的官方文档,还有一种替代方法,称为Listener and Client。

multiprocessing.connection.Listenersocket非常相似,并且都具有相同的功能,如accept()close()send()recv()。那么,如果我们仅关注IPC用途,这两个模块之间有什么不同? 哪一个更有效率?


解决方案

插座系列

我查看了cpython on github,multiprocessing.connection.Listener使用socket标准库,只有一个主要的不同点:插座系列。

Listeners支持这些家庭进行交流:

  • AF_PIPE-命名管道
  • AF_INET-tcp套接字
  • AF_UNIX-Unix域套接字

Python的标准socket库对AF_INETAF_UNIX的支持很好,可以肯定地说,主要的区别在于AF_PIPE家族。

相关文章