我想在我的web应用程序中使用“primefaces”来接收通知。
我希望用户能够根据他所属的组接收通知。每个用户都可以属于几个组,例如:
当用户登录到web应用程序中时,该用户应该订阅这些通知组。
我的问题是,我必须为用户创建多少个“套接字”。
<p:socket onMessage="handleMessage" channel="/groupX" />例如,如果用户属于两个组,那么应该在JSF页面中动态创建两个套接字吗?我可以创建一个套接字并使用它接收来自不同组的通知吗?
谢谢
发布于 2015-06-05 09:11:48
假设它们不是彼此的子集,则不能使用一个通用套接字(一个通道)。根据登录用户的数量和/或用户组的数量和/或用户所属的组数,我可以看到另一种可能的解决方案(除了为每个组创建套接字外,您已经提到了)。
为每个用户和服务器创建一个特定于用户的通道,维护一个具有组名的HashMap和属于该组的登录用户列表。当需要向一个组发送消息时,遍历列表并将其发送给每个单独的用户。
https://stackoverflow.com/questions/30661107
复制相似问题