我的应用程序在本地主机中运行良好,socket.io 使用 websockets 和 xhr-polling,并且在 heroku 中使用 xhr-polling,但由于 heroku 提供了对 websocket 的支持,我无法使用 websocket 使其工作。
我的 Chrome 控制台会显示以下消息:
WebSocket connection to 'ws://<myherokuapp>.herokuapp.com/socket.io/1/websocket/HBWE2BFvHahlSWk5ppHP' failed: Unexpected response code: 503
我已经启用了网络套接字实验室。
有没有使用 socket.io 的websocket的工作示例?
我遇到了同样的问题,只是通过在 heroku 上的应用程序上重新激活 websocket 来修复它。由于某种原因,它刚刚随机切换到 XHR 轮询。
我使用了heroku网站(@ https://devcenter.heroku.com/articles/heroku-labs-websockets)中的以下命令来重新激活它:
heroku labs:enable websockets -a myapp
然后,我通过推送到 heroku 并重建(或使用:heroku restart
)来重新启动我的服务器。
我还有一个非常基本的 socket.io 聊天应用程序(由Smitha Milli编写)的工作副本,运行在:您可以测试的 http://calm-gorge-8474.herokuapp.com/。
希望这有帮助!