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/#