AngularJS - 在标签页/窗口之间共享websocket

AngularJS - 在标签页/窗口之间共享websocket

问题描述:

我使用angular-websocket来打开WebSocket,应用程序正在等待消息,然后显示Web通知。AngularJS - 在标签页/窗口之间共享websocket

我注意到,当有超过1个标签打开有很多连接,然后每个标签都会收到一条消息,并且当应该显示一次时,通知将会显示1 X TABS_NUM

我认为要使它正常工作,我需要为整个应用程序打开1个WebSocket。

任何想法?我应该怎么做呢?

+0

每个窗口是您的客户端应用程序的一个单独的实例。真的不清楚你正在寻找什么行为 – charlietfl

+0

我有一个websocket发送通知。但是,如果客户端有2个打开的标签,则向客户端发送2个相同的通知是不正确的...我应该怎么做 –

+0

在一个标签和其他标签中读取时不能发送消息然后知道它? – charlietfl

使用tag解决我的问题:

它通常是不希望用户收到大量通知 在很短的时间空间 - 例如,如果一个信使 应用通知用户什么每个传入消息,他们被发送了很多?为避免用户发送太多垃圾邮件通知,可以修改待处理通知 队列,用一个新的 替换一个或多个待处理通知。

要做到这一点,可以将标签添加到任何新的通知。如果 通知已具有相同标记且尚未显示, 新通知会取代先前的通知。如果已经显示带有相同标签的 通知,则关闭前一通知,并显示新通知。

new Notification(notificationMessage.title, {tag: notificationMessage._id});