node.js游戏示例仅适用于我的计算机

时间:2013-12-07 12:35:16

标签: node.js websocket socket.io

我正在使用这个游戏示例:https://github.com/robhawkes/mozilla-festival

我的确与C:\ Program Files(x86)\ Apache Group \ Apache2 \ htdocs \ games \ websockets

完全相同

我正在使用位于公共文件夹旁边的game.js文件运行'node game.js'。

我正在使用Apache在端口80上运行服务器。

目前它仅在我从计算机连接时才有效(每次在新窗口中打开时都会创建一个播放器)。但是,当我尝试从另一台计算机连接到它时,它给了我这些错误:

GET http://localhost:8000/socket.io/socket.io.js

Uncaught ReferenceError: io is not defined

我网站上的游戏:http://123testing.no-ip.biz/games/websockets/public/

我错过了什么吗? 对不起,如果这是一个非常愚蠢的问题!

编辑:让它工作!谢谢,路易斯和SVN,你们都很棒。最后一个问题是在我的game.js中它连接到localhost。

1 个答案:

答案 0 :(得分:0)

您已经在HTML中硬编码了服务器地址:

<script src="http://localhost:8000/socket.io/socket.io.js"></script>

从中删除服务器地址,就像您对其他脚本一样。要么:

<script src="/socket.io/socket.io.js"></script>

或者这可行:

<script src="socket.io/socket.io.js"></script>

取决于脚本在服务器上的物理位置。我认为第二个可能是你想要的,但我不确定,因为我看到两者都有可能的证据。

(ETA:将“localhost”作为服务器地址来加载HTML中的资源,这是由公众加载的,这绝对是错误的。不幸的是,您的服务器设置还有其他一些我无法诊断的事情。 。)