我想要做的是将我的HTML5画布游戏集成到一个网络界面中。
按下按钮时,html游戏会填满<div id="game">
。但是我只在我的javascript文件中定义了我的node.js.
现在我可以在HTML2文件中定义它,但它似乎会创建2个单独的连接。
有没有办法在只有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>
答案 0 :(得分:2)
可能你不能这样做。
如果有任何其他窗口,您将需要连接套接字。 但是,您可以在服务器上使用 ChatRooms 的概念同步它们,只需添加来自会议室中用户的所有连接池。
<强> ####编辑### 强>
您可以简单地将套接字连接加入聊天室:
io.on('connection', function(socket){
socket.join('some room');
});
然后简单地向该会议室成员广播一条消息:
io.to('some room').emit('some event'):
您可以简单地使用Room-names与某个用户身份相对应。