我正在嘗試向我的webapp添加一些功能,例如「實時用戶到用戶」聊天(如Facebook的聊天)和實時通知系統。JSF + AJAX推送:實時聊天/通知系統
讓我們考慮一下這樣的場景: 我們有兩個用戶A和B
A如果B和A之間的聊天窗口打開在B的瀏覽器發送一條消息給B.
,我們更新它,在B的瀏覽器上顯示新消息。 如果窗戶沒有打開,我們需要在B的瀏覽器上顯示通知或其他內容。
因此,將PrimeFaces對話框作爲聊天窗口並使用PrimeFaces NotificationBar來顯示通知,我該怎麼做?
我無法使用PrimeFaces的推送功能,因爲他們不能使用Glassfish。
我已經發現了ICEPush,這似乎是一個很好的方法來做到這一點,但關於「渲染組」的事情阻止了我嘗試它。 如果ICEPush談論羣組,我該如何更新一個單一的客戶端?
我應該爲每個客戶創建一個新組嗎?
類似於: B有一個「BwithA」組,當A向B發送消息並且聊天已打開時會更新,而聊天窗口關閉時會更新一個「notificationsB」組?
我找不到如何做到這一點,因爲即使以這種方式使用組,A也必須告訴B他需要更新,並且A不知道B是否必須更新對話框或notificationBar!
我希望問題很清楚,因爲解釋它並不容易|
感謝提前:)
這是不適合JSF + PrimeFaces,而不是嘗試使用jQuery。以下是一個示例:http://code.google.com/p/jquery-stream/wiki/ChatExample – 2012-04-22 21:00:52
感謝您的鏈接。 你是說沒有可以處理它的JSF庫? ICEFaces或RichFaces都不是?因爲我不能在我的項目中真正使用jQuery! – StepTNT 2012-04-23 06:56:17
我在說的是push/poll組件對於處理實時聊天的聊天應用程序並不是很好。相反,你應該使用更輕的東西,jQuery提供了這個。無論如何,您可以嘗試使用JSF + RichFaces推送和輪詢(檢查輪詢示例http://richfaces-showcase.appspot.com/richfaces/component-sample.jsf?但刷新時間並不像您所能認爲) – 2012-04-23 14:54:51