我写了一个使用PHP web套接字的游戏,在我的本地开发服务器上运行良好。 我现在试图在非本地服务器上运行Web套接字服务器,但我的客户端JavaScript无法连接。 我试图在干净的Ubuntu Server x64安装 – 我已经安装了apache2,php5,并确保PHP套接字扩展启用; 该服务器非常适合非web套接字的目的。
有没有我错过的configuration设置? 我尝试closures我的防火墙(通过ufw disable )。 任何线索将不胜感激。
编辑
这里是我使用的PHP库: https : //github.com/Flynsarmy/PHPWebSocket-Chat
我已经意识到,我实际上不会需要Apache为我在做什么 – 我只需要传入的请求被接受和解释的PHP。 有没有办法确保所有传入的请求都可以访问我的PHP程序?
你是否使用Apache模块的WebSockets? 有很多PHP websocket服务器可以实现。 这里有一些, http://www.spoutserver.com/,http : //code.google.com/p/phpwebsocket/,http : //socketo.me/ 。 如果你环顾四周,还有更多。 如果youp提供有关您的环境和实施的更多细节,帮助更容易。
更新:
将https://github.com/Flynsarmy/PHPWebSocket-Chat/blob/master/server.php中的第62行改为
$ Server-> wsStartServer('0.0.0.0',9300);
或IP到您的外部局域网IP,它应该工作。 更改后重新启动server.php。
据我所知,Ubuntu提供的Apache软件包不支持websockets,而Precise穿山甲软件中没有包含mod_websocket.so软件包,它是提供对websocket支持的Apache模块 。 您需要手动安装模块,或更改生产环境以使用与开发中使用的相同的Web服务器。