【发布时间】:2018-10-18 00:38:31
【问题描述】:
我正在为一个必须制作多人战舰游戏的项目工作,我已经完成了大部分游戏逻辑(客户端使用 Angular 6,服务器端使用 node.js + express),但是由于我是 socket.io 的新手,我目前一直坚持这一点,我已经设法解决这个问题并尝试连接 2 个玩家:
var waitingPlayer = null;
ios.on('connection', (socket) => {
console.log('new user connected');
if (waitingPlayer == null) {
waitingPlayer = socket;
waitingPlayer.emit('waitingOpponent', {
text: "waiting for an opponent"
});
} else {
console.log('Match Found');
waitingPlayer.emit('matchFound', {
text: "Match Found",
});
socket.emit('matchFound', {
text: "Match Found"
});
}
});
如果我尝试这样做,似乎超过 2 个用户可以连接在一起,有没有办法在将玩同一游戏的 2 个用户之间建立某种大厅,然后为将连接的用户制造更多后?我已经查阅了一些文档,但找不到太多。
【问题讨论】:
-
看来你需要重置 waitingPlayer。
-
哦,好吧,我没有意识到,但是我如何才能在游戏中的 2 个用户之间交换数据?
标签: javascript socket.io