2009-09-24 205 views
0

我要設計仿真on Rails的運行紅寶石網站上的客戶機/服務器系統應該像這樣工作:消息,從服務器的客戶端

一個頁面是由web瀏覽器請求和一旦它打開服務器可以推消息

我知道這是不可能的「自然」由託管服務器發送。這應該完成打開一個套接字來偵聽服務器可以連接的某個端口來發送消息。

可以這樣做嗎?我是否必須開發一個java服務器線程,或者我可以通過它的ip地址和端口來簡單地訪問客戶端applet,並使用服務器上的任何Web服務連接?

感謝, 盧卡

回答

1

做到這一點的最簡單的方法是使用JavaScript來模擬推送機制。在大多數情況下,使用AJAX定期輪詢是足夠的。也看看Comet

0

使用java小應用程序的替代方法可能是使用javascript和稱爲Comet的方法的組合。簡而言之,Comet是通過HTTP啓用服務器推送的一種方式。我不是一個真正的紅寶石的人,但快速谷歌搜索軌道上的紅寶石和彗星網有相當數量的有用信息。

0

如果你想要去的小程序的路線,你需要從applet來在網頁服務的同一服務器的連接。該applet不能聽。一旦建立了TCP連接,它就是一個雙向通道,只要你的協議允許,你可以拉或推。大多數基於Applet的聊天客戶端就是這樣做的。

越來越多的人只是在Javascript中使用長輪詢。要讓一個可靠的長輪詢系統運行非常重要,我建議你使用一個框架。例如,

http://cometdproject.dojotoolkit.org/

2

彗星是肯定你想要什麼。根據您的需要,您可以託管自己的彗星服務器,或者使用SaaS解決方案,例如WebSync On-Demand(免責聲明:我在那裏工作)。使用SaaS的東西,您可以獲得服務器推送功能,而無需實際運行您自己的彗星服務器。

相關問題