reqSave = self.factory.saveDict[request["name"]] response["name"] = request["name"] response["desc"] = reqSave.desc response["data"] = self.factory.shapeArr[reqSave.start:reqSave.end] response["success"] = True for c in self.factory.clients: c.message(json.dumps(response)) self.factory.curStart = len(self.factory.shapeArr) self.factory.shapeArr.extend(response["data"]) elif(request["type"] == "remove"): response["index"] = request["index"] for c in self.factory.clients: c.message(json.dumps(response)) def message(self, message): self.transport.write(message) factory = Factory() reactor.listenTCP(1700, factory) factory.protocol = PassMessage factory.clients = [] factory.curStart = 0 factory.saveDict = {} # maps from save name to Save object factory.shapeArr = [] reactor.run()