【发布时间】:2015-10-31 13:07:04
【问题描述】:
现在,下面的代码会生成在每次连接时增量创建的数字。所以一个用户转到他们得到播放器 1 的页面。第二个用户得到播放器 2。但是当我在浏览器中关闭一个选项卡并打开另一个选项卡时,我得到“播放器 3”....
- 我只希望最多有 2 个玩家(现在它一直在增加)
-
如果一个人关闭或重新加载标签,他们将成为第二个玩家,如果另一个标签是原始玩家的一部分,如果他是第二个玩家,则成为玩家 1
$(document).ready( function(){ var playernum; socket.on("connect", function(){ socket.emit("joinReq", {}); }) socket.on("playerNumUpdate", function(data){ playernum = data.playerNum; $(".playernum").html("player num is " + playernum) }) socket.on("disconnect", function(){ socket.emit("leaveReq", playernum); $(".playernum").html("player num is " + playernum) }) });
服务器:
io.on("connection", function(socket){
// socket.on("was clicked", function(data){
// if(data == true){
// socket.emit("return fromclick")
// }
// })
socket.on("joinReq", function(data){
playernum++
socket.emit("playerNumUpdate", {playerNum : playernum})
})
socket.on("leaveReq", function(data){
socket.emit("playerNumUpdate", {playerNum : playernum})
})
socket.on("disconnect", function(data){
playernum = playernum--;
socket.emit("playerNumUpdate", {playerNum : playernum})
})
})
【问题讨论】:
标签: javascript node.js sockets events socket.io