node.js - 无法在heroku中使用socket io

标签 node.js heroku socket.io port

我是 Heroku 新手,我正在尝试部署使用 socket.io 进行监听的 NodeJS 应用程序。 我能够将其部署到本地并且工作正常。但是当在 Heroku 中运行相同的内容时,它没有响应。

我们需要为 Heroku 中的套接字 io 分配任何特定端口吗? 我无法使用 process.env.PORT,因为我将其用于应用程序服务器端口。

有什么办法可以解决这个问题吗?或者我们是否需要启用一些配置才能使用套接字 io?

我认为我们需要 2 个端口,一个用于普通 Express 服务器,另一个用于套接字 io。如何获得第二个。

最佳答案

无法向公众开放超过 80 个端口。但 WebSockets,尤其是 socket.io 应该可以在 heroku 上工作。

您读过这些文章吗:

https://devcenter.heroku.com/articles/node-websockets

socket.io -> https://devcenter.heroku.com/articles/node-websockets#option-2-socket-io

http://robdodson.me/deploying-your-first-node-dot-js-and-socket-dot-io-app-to-heroku/

在端口 80 上使用 Websockets 不是问题,因为协议(protocol)是 ws://(wss://) 并且它可以与 http://(https://) 配合使用/)并排。

关于node.js - 无法在heroku中使用socket io,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52015496/

相关文章:

linux - 如何通过 linux apache 服务器在浏览器上运行 node.js?

node.js - socket.id 有多独特?

database - 如何修复 pgbackups 错误 : backup url is invalid?

postgresql - Realm 数据连接器与 Heroku Postgres : must be superuser or replication role to use replication slots

Node.js Heroku 应用程序崩溃,错误 R10(启动超时) `heroku restart` 无法正常工作

Django TCP套接字通信

javascript - Socket.io:手动连接到 namespace 和从 namespace 断开连接

javascript - 可以在 NodeJS 的所有请求中包含我的连接吗?

node.js - 无法从 Ionic 应用程序发布 HTTP 请求

jquery - 使用 AJAX 在 nodeJS Express MongoDB 中发送 post 请求