我正在使用 Node.js 和 Express js 编写一个双人纸牌游戏(为了简单起见,假设它是常规扑克牌)。我遇到了一些问题。首先,如何确保只有两个玩家可以访问游戏实例,并且如果玩家失去连接是否可以重新连接?其次,如何从服务器发送消息给客户端?我可以在“socket.on”监听器调用中发送消息,但在程序的正常范围内无法使其正常工作。
var socket = io.listen(app);
socket.on('connection', function(client){
player++;
if(player <= 2) {
var messageout = "player " + player + " connected";
client.broadcast(messageout);
client.on('message', function(data){console.log(data); })
client.on('disconnect', function(){console.log('disconnected');})
}
else {
socket.end;
}
});
我在概念上遇到了问题,不知道如何解决这个问题。例如,我应该全部使用套接字吗?还是每次轮换时返回一个包含游戏状态(牌、赌注等)更新的网页?