import json import socket class Client: def __init__(self, addr): self.s = socket.create_connection(addr) self.f = self.s.makefile('r') self.id = 0 def call(self, method, *args): req = { 'id': self.id, 'method': method, 'params': list(args), } msg = json.dumps(req) + '\n' self.s.sendall(msg.encode('ascii')) return json.loads(self.f.readline())