2014-09-24 50 views
0

可以在Heroku上托管NodeJS应用程序并接受TCP Socket和WebSocket连接吗?使用TCP Socket和WebSocket的Heroku上的NodeJS应用程序

我需要它依赖普通的TCP套接字客户端到网络前端应用程序?

谢谢, 伊多。

+0

可能重复[是否有可能启用tcp,http和websocket都使用相同的端口?](http://stackoverflow.com/questions/13791050/is-it-possible-to-enable-tcp-http -and-websocket-all-the-the-same-port) – 2014-09-24 11:26:59

+0

不,我不需要它在同一个端口 - 完美的是每个通信类型都在不同的端口。 – 2014-09-24 13:56:03

+0

那么为什么不只是有两个单独的应用程序?一个做静态网页的东西,一个处理websockets? – 2014-09-25 14:06:40

回答

0

我用Ruppell's Sockets我能够在Heroku的同一个应用程序中同时容纳HTTP,WebSocket和TCP端点。

我同意,从长远来看,将整体应用程序分离为两个或多个应用程序可能是正确的选择,但我敢肯定,这不是启动的方式,而只是使事情过于复杂。

P.S. Ruppell's Sockets适用于带有套接字(不限于任何语言)的任何语言,而不仅限于NodeJS。

1

Heroku应用绑定到在$ PORT env var中运行时提供给他们的端口。这是Heroku路由器知道的端口,目前只支持每个dyno的单个端口。

Heroku的路由器支持任意协议升级:https://devcenter.heroku.com/articles/http-routing#protocol-upgrades

你可以用它来升级到基于请求头或路径中的网页套接字或TCP连接。

相关问题