def listener(controllers, route, ip, port): server = Server(ip, port) server.acceptConnection() integration_requests = 0 print("Started listening to incoming messages ...") while True: # blocks until a message is received msg = server.receiveMessage() info = json.loads(msg) id = '' if 'id' in info: id = info["id"] controller = getController(id, controllers) print("RECEIVED: %s" % (msg)) if (controller != -1): # handle received messages if (info["type"] == msg_resources.MsgType.MOVEMENT.value): messages.handleMovementMessage(info, controller) elif (info["type"] == msg_resources.MsgType.SPEED_ROTATION.value): messages.handleSpeedRotationMessage(info, controller) elif (info["type"] == msg_resources.MsgType.INTEGRATION_REQUEST.value): reply = messages.getRejectedMessage(id) controller.send_message(reply) elif (info["type"] == msg_resources.MsgType.CALIBRATION.value): messages.handleCalibrationMessage(info, controller) else: if (info["type"] == msg_resources.MsgType.INTEGRATION_REQUEST.value ): integration_requests = integration_requests + 1 reply = messages.handleIntegrationRequestMessage( info, controllers, route, integration_requests)
from server import Server import json import signal import sys server = Server() server.acceptConnection() def ctrl_z_handler(signal, frame): global server server.close() sys.exit(0) def handleMessage(data): global server if (data == "start"): server.sendMessage("0") else: info = json.loads(data) if ("move" in info): print(info["move"]) server.sendMessage("ok") signal.signal(signal.SIGINT, ctrl_z_handler) i = True while (i == True):