Reputation: 556
I know there are different ways to implement IPC
in python such as Pipes
and Queue
; But according to the Python's official documentation, There is also an alternative way called Listener and Client.
multiprocessing.connection.Listener
is much like socket
and both got same functions like accept()
, close()
, send()
and recv()
. So if we only focus on IPC purpose , whats difference between these two modules?
Which one is more efficient ?
Upvotes: 1
Views: 1737
Reputation: 556
I looked at cpython on github, multiprocessing.connection.Listener
uses socket
standard library with just one main different point : socket families.
Listeners
support these families for communication :
AF_PIPE
- Named pipeAF_INET
- TCP socketAF_UNIX
- Unix domain socketPython's standard socket
library supports AF_INET
and AF_UNIX
well, so we can surely say that the main difference is about AF_PIPE
family.
Upvotes: 4