2013-02-16 66 views
0

我正在考慮在Rails中製作一個國際象棋應用程序,其中需要將服務器異步移動到客戶端瀏覽器(理想情況下使用websockets)。在Heroku上可以實現類似websocket的行爲嗎?

但是,從我做的很少的研究看來,Heroku不支持websocket。但是在使用socket.io配置爲使用長輪詢而不是websockets的情況下還有一種選擇。

長時間輪詢是否不足以實現類似5分鐘閃亮棋類遊戲的延遲要求?

+0

作爲最接近的替代方案,您可以使用pjax,它與websockets相似,但有很多事情,您必須按照預期工作 – 2013-02-16 10:39:17

回答

1

Heroku的雪松堆棧支持HTTP流和長輪詢: https://devcenter.heroku.com/articles/request-timeout#longpolling_and_streaming_responses

它不支持WebSockets的。但是您可以使用像Faye這樣的框架並使用XHR作爲傳輸機制。看來這是一個項目。請參閱: Is it possible to host FAYE, on Heroku?

如果你想在你的遊戲客戶端使用的WebSocket和你的後端在Heroku那時,我知道的,現在唯一的解決辦法是使用推杆(我是誰的插件工作): https://addons.heroku.com/pusher

+0

https://addons.heroku.com/pubnub是另一種選擇。 – Ethan 2013-07-08 23:35:11

0

另一種更接近Websockets的方法是Server Sent Events。從服務器到客戶端是單向的(您可以繼續爲客戶端 - >服務器方向制定標準請求)。

Heroku似乎支持Server Sent Events,支持Websockets的大多數瀏覽器(IE10都是這種情況除外)。

+0

user782220,Heapy的觀點是正確的。你可以用xhr輪詢獲得幾乎相同的行爲。我希望在不久的將來,他們也會提供websockets,然後你的應用程序可以切換到它(只是我的猜測!)。切換時,用戶不會注意到不同之處。 – Dimitris 2013-04-13 19:18:11

相關問題