Primefaces 推送
Primefaces push
我想在我的网络应用程序中使用 'primefaces push' 来接收通知。
我希望用户可以根据他所属的组接收通知。每个用户可以属于多个组,例如:
- 用户 X 属于 A 组和 B 组。
- 用户Y属于A、C、D组
- 用户Z属于B组和C组
当用户登录 Web 应用程序时,该用户应订阅这些通知组。
我的问题是我必须为用户创建多少 'socket'。
<p:socket onMessage="handleMessage" channel="/groupX" />
例如,如果一个用户属于两个组,我是否应该在JSF页面中动态创建两个套接字?我可以只创建一个套接字并用它来接收来自不同组的通知吗?
谢谢
假设它们不是彼此的子集,您不能使用一个通用套接字(一个通道)。根据登录用户的数量 and/or 组的数量 and/or 用户所属的组的数量,我可以看到一个额外的可能解决方案(除了为每个组创建一个套接字之外已经提到)
为每个用户创建一个用户特定的频道,并在服务器上维护一个 HashMap,其中包含组名和属于该组的登录用户列表。当需要向一个组发送消息时,遍历列表并将其发送给每个单独的用户
我想在我的网络应用程序中使用 'primefaces push' 来接收通知。
我希望用户可以根据他所属的组接收通知。每个用户可以属于多个组,例如:
- 用户 X 属于 A 组和 B 组。
- 用户Y属于A、C、D组
- 用户Z属于B组和C组
当用户登录 Web 应用程序时,该用户应订阅这些通知组。
我的问题是我必须为用户创建多少 'socket'。
<p:socket onMessage="handleMessage" channel="/groupX" />
例如,如果一个用户属于两个组,我是否应该在JSF页面中动态创建两个套接字?我可以只创建一个套接字并用它来接收来自不同组的通知吗?
谢谢
假设它们不是彼此的子集,您不能使用一个通用套接字(一个通道)。根据登录用户的数量 and/or 组的数量 and/or 用户所属的组的数量,我可以看到一个额外的可能解决方案(除了为每个组创建一个套接字之外已经提到)
为每个用户创建一个用户特定的频道,并在服务器上维护一个 HashMap,其中包含组名和属于该组的登录用户列表。当需要向一个组发送消息时,遍历列表并将其发送给每个单独的用户