Итак, я пытался заставить это работать весь день.Я создаю простую веб-игру для 2 игроков с использованием JS и NodeJS, я хочу использовать веб-сокеты с этим проектом.
Я до сих пор позволил обоим игрокам подключиться к сокету, игрок один будет ждатьвторой игрок для подключения.
Когда игрок 2 подключается, клиенту Игрока 2 отправляется сообщение о том, что он может начать, в котором он отправляет сообщение обратно, в котором он говорит, что он начинает, следовательноthe message == "Started".
Затем, когда сообщение поступило от игрока 2 на сервер, я бы хотел, чтобы сервер отправил сообщение игроку 1, единственная проблема - это "игра".playerOne.send "не работает, в журнале написано, что это не функция.
Для ясности: поскольку game.addPlayer (con.id) был выполнен, game.playerOne содержит идентификатор подключения первого игрока.
Это код, о котором я говорю:
const wss = new websocket.Server({ server });
var websockets = {};
var game = new Game(gameStats.started++);
var connectionID = 0;
wss.on("connection", function(ws) {
let con = ws;
con.id = connectionID++;
console.log(con.id + " has connected");
let player = game.addPlayer(con.id);
websockets[con.id] = game;
console.log("Player %s placed in game %s", ws.id, game.id);
if (game.twoConnected()) {
setTimeout(function() {
ws.send("Player 1 is ready!");
}, 1000);
game = new Game(gameStats.started++);
}
con.on("message", function incoming(message) {
let game = websockets[con.id];
let isPlayerOne = (game.playerOne === con);
if (isPlayerOne) {
} else {
if (message == "Started") {
game.playerOne.send(message);
}
}
});
});
Мне бы очень хотелось узнать, как бы я отправил сообщение на другой веб-сокет (сокет Player 1) ипочему "гame.playerOne.send "не является допустимой функцией.
Заранее спасибо!