2011-11-07 47 views
3

我目前正在研究一個可能需要將信息「推送」到客戶端的Web應用程序,我想知道在Java/Tomcat環境中實現此目的的最佳方法是什麼。我看着網絡套接字,但似乎瀏覽器的支持還是有些欠缺。我目前正在查看org.apache.catalina.CometProcessor接口,但我想知道是否有人有任何好的建議。謝謝Java/Tomcat服務器的最佳Comet/Push技術?

回答

0

也有類似的問題,在使用Javascript/Java的(沒有Tomcat)的環境來解決。我使用長期民意調查作爲基礎技術。

  • 客戶端輪詢服務器
  • 如果事件是在服務器端發射的服務器保存(在我的情況下,20秒)的時間最大量的連接
    • ,所有的客戶端連接處理機通知(一messeage被髮送到客戶端)和長期調查結束
    • 如果沒有反應,長期調查與空消息
  • 結束長輪詢連接山坳後sed,它重新開始。

在我的情況下,我不得不關心一些代理服務器,這些代理服務器在沒有數據傳輸的情況下長時間打開http連接。所以我選擇20秒作爲保持HTTP傳輸打開的最長時間。結合使用http keep-alive,還可以減少輪詢時從單個客戶端打開的連接數。

希望有所幫助。