是否可以在Heroku上托管NodeJS应用程序并接受TCP套接字和WebSocket连接?
我需要它来依赖普通的旧TCP套接字客户端来实现web前端应用程序?
谢谢,同上。
Heroku应用程序绑定到$port env var中运行时提供给它们的端口。这是Heroku路由器知道的端口,目前每个dyno只支持一个端口。
Heroku路由器支持任意协议升级:https://devcenter.heroku.com/articles/http-routing#protocol-升级
您可以使用它根据请求头或路径升级到WebSocket或TCP连接。
我使用了Ruppell的套接字,我能够在Heroku的同一应用程序中托管HTTP、WebSocket和TCP端点。
我同意,从长远来看,将单片应用程序分离为两个或多个应用程序可能是正确的做法,但我确信这不是开始的方式,只会使事情过于复杂。
p.S.Ruppell的Sockets适用于任何带有套接字的语言(关于任何语言),而不仅仅是NodeJS。