【发布时间】:2016-10-31 10:49:44
【问题描述】:
当每个人都可以看到数据时,使用 socket.io 向其他侦听器广播事件和数据是一种直截了当的做法。但是,当每个用户只被允许查看属于他们的数据时,我可以使用一些策略吗?
例如,我们有一个订单系统。在仪表板上,一些用户可以根据他们的访问级别查看所有订单。因此,如果一个用户更新了订单,我可以将该事件广播给所有其他用户,而无需为仪表板上打开的每个窗口检索新数据,对吗?
所以也许一个例子是来自客户端的socket.send('ordersUpdated', data),我认为节点服务器可以捕获它并将数据发送到侦听该ordersUpdated事件的其他套接字。
但是如果用户只能看到自己的订单呢?我不能向他们广播相同的数据,因为这个级别的每个用户只能看到他们自己的数据。如果他们的其中一个订单被可以查看所有订单的用户修改了怎么办?他们的仪表板也需要更新,但他们无法接收相同的广播数据。
我有什么特别的方法可以解决这个问题吗?一个想法,虽然我认为不是一个好的想法,但只是发送一个事件,说明某些内容已更新,这将导致他们从服务器重新获取数据。
为了提供更多细节,我也在使用 Angular 和 Laravel。
【问题讨论】:
-
sockets,在编程级别上,与socket.io无关...我删除了标签。有关详细信息,请参阅sockets 标签详细信息。
标签: angularjs node.js laravel socket.io