建立与heroku应用程序的socket.io连接

发布于 2025-01-09 20:12:17 字数 598 浏览 2 评论 0原文

我在heroku 上托管我的socket.io 服务器,并在本地主机上运行应用程序的客户端。在前端,我像这样建立了 socket.io 连接:

const socket = io("https://<my-app-name>.herokuapp.com:5000/");

后端看起来像这样:

const port = 5000;
const io = require("socket.io")(port, { cors: { origin: "*" } });
io.on("connection", (socket) => { console.log(socket.id) }

但是连接无法建立,并且在浏览器的控制台中我收到此错误:

GET https://<my-app-name>.herokuapp.com:5000/socket.io/?EIO=4&transport=polling&t=Nym-K6b net::ERR_CONNECTION_TIMED_OUT

顺便说一句,当我运行时它工作得很好我的本地主机上的服务器端也是如此。

I am hosting my socket.io server on heroku and I am running the client-side of the application on localhost. On the frontend I establish the socket.io connection like this:

const socket = io("https://<my-app-name>.herokuapp.com:5000/");

And the backend looks like this:

const port = 5000;
const io = require("socket.io")(port, { cors: { origin: "*" } });
io.on("connection", (socket) => { console.log(socket.id) }

But the connection won't establish and in the console of my browser I receive this error:

GET https://<my-app-name>.herokuapp.com:5000/socket.io/?EIO=4&transport=polling&t=Nym-K6b net::ERR_CONNECTION_TIMED_OUT

BTW it works just fine when I'm running the server-side on my localhost too.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

紫竹語嫣☆ 2025-01-16 20:12:17

https://socket.io/docs /v4/troubleshooting-connection-issues/#the-server-is-not-reachable

请确保 Socket.IO 服务器实际上可以通过给定的 URL 访问。您可以使用以下命令进行测试: curl "/socket.io/?EIO=4&transport=polling" 应该返回如下内容: 0{“sid”:“Lbo5JLzTotvW3g2LAAAA”,“升级”:[“websocket”],“pingInterval”:25000,“pingTimeout”:20000}。如果情况并非如此,请检查 Socket.IO 服务器是否正在运行,以及中间是否存在任何阻止连接的因素。

https://socket.io/docs/v4/troubleshooting-connection-issues/#the-server-is-not-reachable

Please make sure the Socket.IO server is actually reachable at the given URL. You can test it with: curl "<the server URL>/socket.io/?EIO=4&transport=polling" which should return something like this: 0{"sid":"Lbo5JLzTotvW3g2LAAAA","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":20000}. If that's not the case, please check that the Socket.IO server is running, and that there is nothing in between that prevents the connection.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文