【发布时间】:2012-05-03 11:06:58
【问题描述】:
我正在尝试向我的网络应用程序添加一些功能,例如“实时用户对用户”聊天(如 Facebook 的聊天)和实时通知系统。
让我们考虑一下这种情况: 我们有两个用户,A 和 B。
A 向 B 发送消息。
如果 B 和 A 之间的聊天窗口在 B 的浏览器上打开,我们会更新它,在 B 的浏览器上显示新消息。 如果窗口没有打开,我们需要在 B 的浏览器上显示通知或其他内容。
那么,有一个 PrimeFaces Dialog 作为聊天窗口和一个 PrimeFaces NotificationBar 来显示通知,我该怎么做呢?
我不能使用 PrimeFaces 的推送,因为它们不适用于 Glassfish。
我发现了 ICEPush,这似乎是一个不错的方法,但是关于“渲染组”的事情阻止了我尝试它。 如果 ICEPush 谈论群组,我如何只更新单个客户端?
我应该为每个客户创建一个新组吗?
类似的东西: B 有一个“BwithA”组,当 A 向 B 发送消息并打开聊天时更新,还有一个“notificationsB”组,当聊天窗口关闭时更新?
我不知道该怎么做,因为即使以这种方式使用组,A 也必须告诉 B 他需要更新,而 A 不知道 B 是否必须更新对话框或通知栏!
希望问题说清楚,因为不好解释|
提前致谢:)
【问题讨论】:
-
这不适合 JSF + PrimeFaces,而是尝试使用 jquery。这是一个示例:code.google.com/p/jquery-stream/wiki/ChatExample
-
感谢您的链接。您是说没有可以处理它的 JSF 库? ICEFaces 或 RichFaces 都不是?因为我的项目中并不能真正使用jQuery!
-
我的意思是推送/轮询组件对于处理实时聊天的聊天应用程序不是很好。相反,您应该使用更轻的东西,而 jquery 提供了它。无论如何,您可以尝试使用 JSF + RichFaces 推送和投票(查看投票示例 richfaces-showcase.appspot.com/richfaces/component-sample.jsf?但刷新时间并没有您想象的那么快)
-
我知道,但这只是我的考试作业,所以我不需要它来获得最佳表现!我已经在使用 PrimeFaces 的民意调查,但我想知道是否有一种方法可以避免民意调查产生的大量请求:)
-
正如我已经评论过的,没有
标签: jsf jakarta-ee primefaces push icepush