2014-09-24 47 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連接。

相關問題