【发布时间】:2013-12-09 07:18:10
【问题描述】:
我正在使用 Node.js,它只适用于一个窗口或选项卡。但我想在用户浏览器的所有打开选项卡中从 Node.js 获取返回的数据。
就像 facebook Like 在你所有打开的标签中通知。
这是我的常规发射代码:
users[user_id].socket.emit( 'xx', { data } );
但data 仅在第一个打开的选项卡中可用。如何在所有打开的标签中获取它?
【问题讨论】:
-
我不明白你的意思。你能澄清一下吗?
-
你需要一个套接字数组。
-
like facebook
Like在你所有打开的标签中通知。 -
所以?如果每个用户可以有多个套接字,你仍然需要一个数组。
-
“彗星”不是一个特定的产品——它是一个通用术语,指的是从服务器->客户端推送数据的各种技术解决方案。例如。你可以做传统的轮询、长轮询、流式 HTTP、WebSockets ......选择你的毒药。使用 Node.js,SocketIO 非常流行。但是,无论您使用什么,您的服务器都需要维护一个所有客户端的列表,这些客户端与您的服务器具有活动的、开放的连接。然后,当您有数据要发送时,您需要将该数据广播到所有连接的客户端。
标签: javascript node.js