js 如何建立和管理多个websocket连接
发送A请求, 建立连接A, 处理B请求
A连接还在处理请求中
发送B请求, 建立连接B, 处理B请求
A连接处理完成, 释放, 空闲状态
发送C请求, 使用连接A, 处理C请求
发送请求时, 有空闲的连接, 则使用空闲的, 若无则创建新的连接.
这种websocket该怎么写? websocke返回的数据该存放到哪里?
我目前现在的方案是只建立一个连接的websocket
连接时判断存在连接, 则直接使用该连接. 将接收到的数据存放发vuex的属性中, 然后在页面中watch 监听该属性, 进行后续操作.
如果建立多个连接, 将多个连接的返回结果也都存vuex中同一个变量中, 可行吗?
应当考虑
webSocket
连接的复用而不是建立多个webSocket
。因为
WebSocket
天生只有会话属性,而没有请求属性,这样设计是因为后端可以主动推送,如果需要前端先发请求的话后端就不具备主动性了。但是作为开发者,是可以在它的基础上自己实现类似
http
的请求-回应机制的,方法很简单——给每一个请求加上一个 ID ,后端回应的时候也带上这个 ID 即可: