Пример #1
0
    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;
        }
        }
    }
Пример #2
0
    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;
        }
    }