Websocket 无法与heroku 中的socket.io 一起使用

问题描述 投票:0回答:2

我的应用程序在 localhost 中使用 websockets 和 xhr-polling 与 socket.io 一起工作正常,并且它在 heroku 中与 xhr-polling 一起工作,但由于 heroku 提供了对 websocket 的支持,我无法使其使用 websockets 工作。

我的 Chrome 控制台显示此消息:

WebSocket connection to 'ws://<myherokuapp>.herokuapp.com/socket.io/1/websocket/HBWE2BFvHahlSWk5ppHP' failed: Unexpected response code: 503

我已经启用了 websocket 实验室。

有没有使用socket.io的websocket的工作示例?

node.js heroku websocket socket.io
2个回答
20
投票

我遇到了同样的问题,只是通过在heroku上重新激活我的应用程序上的websockets来修复它。 由于某种原因,它只是随机切换到 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/,您可以测试它。

希望这有帮助!


0
投票

你必须使用 WebSocket 连接到“wss://.herokuapp.com/socket.io/1/websocket/HBWE2BFvHahlSWk5ppHP”

wss:// 不是 ws:// 因为 Heroku 运行在 https 协议上

© www.soinside.com 2019 - 2024. All rights reserved.