Javascript Websocket-Websocket握手期间出错:意外响应代码:404

Javascript Websocket-Websocket握手期间出错:意外响应代码:404,javascript,php,apache,websocket,Javascript,Php,Apache,Websocket,我在我的应用程序中使用websocket,当我使用localhost时,一切正常。当我将localhost更改为服务器ip地址时,问题开始出现,然后出现以下错误: WebSocket握手时出错:意外响应代码:404 这是我的httpd.conf ... Listen 25.48.63.220:80 Listen 25.48.63.220:8081 ... ServerName 25.48.63.220:80 ... 我认为我能够连接到我的服务器,因为当我键入错误的ip地址时,我没有得到

我在我的应用程序中使用websocket,当我使用localhost时,一切正常。当我将localhost更改为服务器ip地址时,问题开始出现,然后出现以下错误: WebSocket握手时出错:意外响应代码:404

这是我的httpd.conf

...

Listen 25.48.63.220:80
Listen 25.48.63.220:8081

...

ServerName 25.48.63.220:80

...
我认为我能够连接到我的服务器,因为当我键入错误的ip地址时,我没有得到这个错误


我还需要更改什么?

404表示找不到。可能您连接到了错误的位置,或者您没有将端口从公共IP地址映射到本地IP地址。

我解决了这个问题。如果您使用composer下载Ratchet,则需要在/vendor/cboden/Ratchet/src/Ratchet/App.php中更改构造函数

Default __construct should look like this:
 public function __construct($httpHost = 'localhost', $port = 80, $address = 'localhost', LoopInterface $loop = null) {

因此,您只需要更改httpHost、端口和地址。它适用于我:)

请不要更改通过Composer获得的Ratcet\App构造函数。只需将值传递给Ratchet\App构造函数:$ws=new Ratchet\App($httpHost='localhost',$port=80,$address='localhost',$loop=null);