Upon execution of our listener script, you will see that our listener waits indefinitely until one connection has been made; at the point at which the connection has been made, it prints that it has accepted the connection, and the IP and port from which it accepted this connection:
$ python3.6 23_listener.py
connection accepted from ('127.0.0.1', 56197)
Once we've started our listener program, we can then kick off our client program. This successfully connects to our running listener, and then prints out the array of different messages that we send to it:
$ python3.6 22_client.py
[2.25, None, 'junk', <class 'float'>]
b'hello'
8
array('i', [42, 1729, 0, 0, 0])
This should, hopefully, give you some indication of the power of the multiprocessing.communication module, and how you can use it to efficiently pass information between multiple processes running on the same hardware.