Node.js – 使用多个html文件连接到相同的服务器,相同的用户

我想要做的是将我的HTML5 canvas游戏整合到一个单独的web界面中。

当按下button时,html游戏填满<div id="game"> 。 但我只在我的javascript文件中定义了我的node.js。

现在我可以在HTML2文件中定义它,但似乎会创build2个独立的连接。

有只有1个连接,这样做的方法吗?

简单地说 – 2个独立的HTML / JavaScript文件具有相同的确切连接

谢谢

HTML

 <div id="game"> <button id="gameFile">MyGame</button> </div> 

使用Javascript

 var socket = io('http://192.168.0.5:2000'); socket.on('connect', function() { socket.emit('login', { }); }); $('#gameFile').click(function(event){ document.getElementById("game").innerHTML='<object type="text/html" data="games/myGame/index.html" style="width:100%; height: 100%;" ></object>'; }); 

HTML2(games / myGame / index.html)

 <canvas id="myCanvas"> Your browser does not support the HTML5 canvas tag :( </canvas> <script> socket.emit('msg', "2nd HTML connected"); </script> 

可能你不能这样做。

如果有其他窗口,则需要连接套接字。 但是,您可以使用服务器上的ChatRooms概念来同步它们,方法是简单地在一个房间中添加来自用户的所有连接池。

####编辑###

您可以简单地join到聊天室的套接字连接:

 io.on('connection', function(socket){ socket.join('some room'); }); 

然后只需向该会员发送消息:

 io.to('some room').emit('some event'): 

您可以简单地使用房间名称来相应于某个用户身份。

参考: http : //socket.io/docs/rooms-and-namespaces/#