python 中的套接字与 multiprocessing.connection.Listener
Socket vs. multiprocessing.connection.Listener in python
我知道在 python 中有不同的方法来实现 IPC
,例如 Pipes
和 Queue
;但是根据 Python 的官方文档,还有一种替代方法叫做 Listener and Client。
multiprocessing.connection.Listener
与 socket
非常相似,并且都具有与 accept()
、close()
、send()
和 recv()
相同的功能。所以如果我们只关注IPC目的,这两个模块有什么区别?
哪个效率更高?
套接字系列
我查看了 cpython on github,multiprocessing.connection.Listener
使用了 socket
标准库,只有一个主要不同点:套接字系列。
Listeners
支持这些家庭交流:
AF_PIPE
- 命名管道
AF_INET
- TCP 套接字
AF_UNIX
- Unix 域套接字
Python 的标准 socket
库很好地支持 AF_INET
和 AF_UNIX
,所以我们可以肯定地说主要区别在于 AF_PIPE
系列.
我知道在 python 中有不同的方法来实现 IPC
,例如 Pipes
和 Queue
;但是根据 Python 的官方文档,还有一种替代方法叫做 Listener and Client。
multiprocessing.connection.Listener
与 socket
非常相似,并且都具有与 accept()
、close()
、send()
和 recv()
相同的功能。所以如果我们只关注IPC目的,这两个模块有什么区别?
哪个效率更高?
套接字系列
我查看了 cpython on github,multiprocessing.connection.Listener
使用了 socket
标准库,只有一个主要不同点:套接字系列。
Listeners
支持这些家庭交流:
AF_PIPE
- 命名管道AF_INET
- TCP 套接字AF_UNIX
- Unix 域套接字
Python 的标准 socket
库很好地支持 AF_INET
和 AF_UNIX
,所以我们可以肯定地说主要区别在于 AF_PIPE
系列.