2011-05-05 90 views
0

什麼是最好的機制,用於實現登錄的用戶的能力,接收由服務器生成的消息。由於沒有辦法爲服務器發送信息給用戶,當它有新消息要發送時,用戶瀏覽器應輪詢一些特定的時間間隔,以接收新的消息作爲響應,另外,應該有一種服務器方式,不發送已發送給用戶的消息。你可以通過公共聊天機制來獲得連接,但我需要的是儘可能接近實時的消息延遲,並且能夠同時處理大約100個用戶,從而使盡可能少的流量成爲可能。附加說明:僅當用戶在線時,才需要數據,不需要將該數據存儲在服務器中,以供其他用戶閱讀「歷史記錄」。在我看來,有一種實現這種方式的方法 - 全局「消息框」,其中服務器放置所有消息,用戶瀏覽器不斷輪詢服務器,檢查最後收到的消息ID是否等於最後一個消息ID消息框。HTML客戶端接收連續的服務器輸出數據流

問題是,如果這是正確的方式來做到這一點,或者有任何其他方式來完成這些任務,因爲隨處可以找到實時數據的需求:傳感器數據,多人遊戲,聊天,股票市場等等。 。

回答

1

是不是推行更好的策略?在服務器和瀏覽器之間保持打開tcp連接,並在新信息可用時將更改傳輸到瀏覽器。

看看html 5 websockets。 (這正是這一點)

繼承人demo

+0

「套接字不支持」,嗯...有更多的方法,這是由大多數瀏覽器支持? – Deele 2011-05-05 10:58:57

+0

很多,像@Alex K這樣的彗星正在提及。我知道一個名爲APE(http://www.ape-project.org/ajax-push.html),但也有商業產品,如lightstreamer – netbrain 2011-05-05 11:17:35

1

你有沒有看Comet

彗星是在 一個Web應用程序模型,一個長期持有的HTTP請求允許 Web服務器將數據推到瀏覽器 ,沒有瀏覽器 明確要求它。

如果您搜索stackoverflow有大量關於它的使用信息。

+0

沒有,會看到,如果它符合我的需求。 – Deele 2011-05-05 11:27:41

相關問題