我目前正在开发一个单页面Web应用程序,它具有越来越多的实时小部件,同时需要不同的数据源。我的问题是哪种方法最适合使用WebSockets作为此数据的载体:
选项1:客户端与服务器打开单一套接字连接,然后使用类似于以下内容的API来订阅/取消订阅/获取/发布数据:< / p>
var socket = new WebSocket([URL]);
socket.emit("subscribe", [OPTIONS]);
socket.emit("unsubscribe", [OPTIONS]);
socket.emit("get", [OPTIONS]);
socket.emit("post", [OPTIONS])
选项2 客户端为在页面上运行小部件所需的每个数据源打开一个套接字。请记住,可能有许多小部件需要许多不同的数据源。例如,它看起来像这样:
var sock1 = new WebSocket([URL]);
var widget1 = new Widget1(sock1);
var sock2 = new WebSocket([URL]);
var widget2 = new Widget2(sock2);
var sock3 = new WebSocket([URL]);
var widget3 = new Widget3(sock3);
非常感谢任何见解。
安迪