【发布时间】:2015-02-13 15:23:33
【问题描述】:
我有一个相当简单的棋盘游戏应用程序,它使用 socket.io 来同步玩家之间的动作。目前,客户会被引导到一个登录页面,在那里他们可以创建一个名称成为 socket.io 房间标识符的新游戏,或者加入现有游戏。这一切都运作良好,但我想向游戏创建者提供一个 URL 发送给他们的朋友,该 URL 将绕过登录并直接将他们带到游戏中,例如 http://myttgame.com/games/MyAwesomeGame.
我在服务器端使用节点和快递。我知道如何使用“/games/:channel”之类的快速路由解析 URL,但后来我被卡住了。如何将初始 Web 请求与稍后传入的套接字请求联系起来?
如果我使用的是 PHP,我可以将 join 命令直接注入到 html 页面中,例如
<body> ...
<script>
<?php
if($channel)
echo "socket.emit('join game','$channel');";
else
echo "showLoginForm();";
?>
</script>
</body>
是否有适当的方法来使用 express 处理这种类型的事情,或者如果失败了,一些粗略的解决方法,如 php 注入?
【问题讨论】: