public override void handleMessage(QTMessage message) { switch (message.messageType) { case QTMessage.type.WORKER_READY: { MasterServerQTClient qtRemoteClient = (MasterServerQTClient)client; WorkerReadyMessage workerReadyMessage = (WorkerReadyMessage)message; qtRemoteClient.remoteType = QTClient.clientType.WORKER_SERVER; MasterServerWorker worker = MasterServerManager.instance.workersManager.workers[workerReadyMessage.id]; RoomInfoMessage roomInfoMessage = new RoomInfoMessage(); roomInfoMessage.room = worker.room; qtRemoteClient.sendMessage(roomInfoMessage); worker.onWorkerReady(); break; } case QTMessage.type.WORKER_INFO: { MasterServerQTClient qtRemoteClient = (MasterServerQTClient)client; WorkerInfoMessage workerInfoMessage = (WorkerInfoMessage)message; MasterServerWorker worker = MasterServerManager.instance.workersManager.workers[workerInfoMessage.id]; worker.room.ip = workerInfoMessage.ip; QTDebugger.instance.debug(QTDebugger.debugType.BASE, "Recieved info from Worker(" + worker.room.id + ")..."); break; } } }
public void handleMessage(QTMessage message) { switch (message.messageType) { case QTMessage.type.REQUEST_HEARTBEAT: double currentTimestamp = (DateTime.Now - DateTime.MinValue).TotalMilliseconds; RequestHeartbeatMessage requestMessage = (RequestHeartbeatMessage)message; HeartbeatMessage heartbeatMessage = new HeartbeatMessage(requestMessage); heartbeatMessage.serverTimestamp = ((RequestHeartbeatMessage)message).createdTimestamp; heartbeatMessage.createdTimestamp = currentTimestamp; sendMessage(heartbeatMessage); break; case QTMessage.type.ROOM_INFO: RoomInfoMessage infoMessage = (RoomInfoMessage)message; WorkerServerManager.instance.room = infoMessage.room; WorkerInfoMessage workerMessage = new WorkerInfoMessage(); workerMessage.id = WorkerServerManager.instance.room.id; workerMessage.ip = "127.0.0.1"; sendMessage(workerMessage); QTDebugger.instance.debug(QTDebugger.debugType.BASE, "Sending worker info message..."); break; } }