我在我的应用程序中使用 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、端口和地址即可。它对我有用:)