Websocket合并,解决页面多个websocket连接问题
背景
1. 打开首页会发起多次websocket连接,每个都调用后端各自的websocket进行;
2. 其他子页面是嵌套在主页里的,打开子页面会发起子页面里的websocket连接;
3. 想把前端和后端:一个页面内的多个websocket和其他子页面的websocket 合并成一个。
一. 前端页面合并
- 在首页创建一个websoclet连接,不同的websocket连接设定不同的type,在onopen方法里进行多次send(type,替代多个不同websocket发送不同类型消息的效果。
var mysocket = null;
function createWebsocket(){
var webUrl = window.location.host;
if('WebSocket' in window){
if(mysocket==null){
mysocket = new WebSocket("ws://${xxx}/xxx?type="+type);
mysocket.onopen = function(){
//可以把每个页面的websocket要传的参数设置成type的值
myscoket.send("type");
mysocket.send("type1");
}