我正在尝试向我的网络应用程序添加一些功能,例如“实时用户对用户”聊天(如 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 是否必须更新对话框或 notificationBar !
我希望问题是清楚的,因为它不容易解释它|
提前致谢 :)