Есть ли способ, чтобы сервер node.js (локальный) никого не пинал? - PullRequest
0 голосов
/ 04 июня 2019

Я хочу запустить игру на своем локальном сервере и играть в нее с моим ПК и моим планшетом, но всегда до того, как игра закончится, и что какой-то игрок ушел, но я не покинул сайт.Если я попробую сделать это с двумя вкладками на моем ПК, это сработает.

Я попытался создать код, который постоянно что-то меняет на экране, и отправлять некоторые сообщения на сервер и с сервера на все проигрыватели.время, потому что я думал, это может быть, что сервер пинает неактивных людей.Вот код .ts:

import {
    Room
} from "colyseus";
var spielerOnline = 2;
export class monopolyKartenspiel extends Room {
    maxClients = 4;
    player1 = null;
    player2 = null;
    player3 = null;
    player4 = null;
    onJoin(client) {
        console.log(`${client.sessionId} joined.`);
        let newPlayer = {
            id: client.sessionId,
            client: client,
        };
        if (!this.player1) this.player1 = newPlayer
        else if (!this.player2) this.player2 = newPlayer
        else if (!this.player3) {
            this.player3 = newPlayer;
            spielerOnline++;
        } else if (!this.player4) {
            this.player4 = newPlayer;
            spielerOnline++;
        }
        if (this.player1 && this.player2) {
            console.log("Mehr als 1 Spieler");
        }
    }
    onLeave(client) {
        if (client.sessionId == undefined == false) {
            console.log(`${client.sessionId} left.`);
            this.broadcast(`${client.sessionId} left`);
            if (client.sessionId === this.player1.id) this.player1 = null;
            else if (client.sessionId === this.player2.id) this.player2 = null;
            else if (client.sessionId === this.player3.id) this.player3 = null;
            else this.player4 = null;
        }
    }
}
...