#!/usr/bin/env python3 import pickle import socket import sys def server(): serversocket = socket.socket( socket.AF_INET, socket.SOCK_STREAM ) serversocket.bind(('0.0.0.0', 8051)) serversocket.listen(5) while True: (clientsocket, address) = serversocket.accept() print("New client") socketfile = clientsocket.makefile('rb') while True: try: obj = pickle.load(socketfile) except EOFError: print("Client disconnected") break print("Received object:", obj) def client(): sock = socket.socket( socket.AF_INET, socket.SOCK_STREAM ) sock.connect(('localhost', 8051)) sockfile = sock.makefile('wb') for i in range(3): obj = ("Thing", i) pickle.dump(obj, sockfile) sock.close() if sys.argv[1] == 'server': server() else: client()