我正在使用氛围RC 2.4.5(java1.8、jsp、tomcat 8和javascript大气客户端)将消息从服务器推送到客户端。一切都如预期的那样工作,在实现上没有任何问题,但现在我对接下来的事情有疑问:
我实现了一个功能,其中管理员用户可以发送一些通知给所有用户目前使用的应用程序。但是如果在这个时候消息正在通过网络套接字,一些用户点击链接并开始导航到另一个页面。他的网络套接字将关闭,他将永远不会得到信息。
有没有人知道如何利用大气层来实现这一目标,这样就不会失去任何信息。
谢谢大家。
发布于 2015-12-03 16:30:34
您可以在本页的大气-js文档中找到您的解决方案:
默认情况下,每当浏览器打开一个新窗口或选项卡时,atmosphere.js库将打开一个新连接(基于可用的传输: websocket、长轮询、流、sse、jsonp或ajax)。在某些情况下,在windows/制表符之间共享连接可能更有效。要启用该机制,只需设置AtmosphereRequest对象的共享属性:
下面是一个例子:
var request = new $.atmopshere.AtmosphereRequest();
request.shared = true;
request.transport = 'websocket'
$.atmosphere.subscribe(request);这些行中的一条可以解决您的问题:
request.shared = true;https://stackoverflow.com/questions/33291121
复制相似问题