我已经开始学习web sockets。在当今时代,学习技术是必须的。但是我很想了解更多。我的基本问题是在客户端可以创建多少个WebSocket连接。
我的典型应用程序是基于html UI和服务器上我有基于rest的服务。我需要跟踪
- 会话超时是否发生
- 与服务器的连接是否丢失?一种池化程序,用于检查连接是否存在。
所以我在客户端上创建了两个websocket对象,并为它们创建了不同的url。
我希望我正确地实现了它?
基本上浏览器关闭旧的websocket连接一旦你打开新的连接到相同的URL(ws://127.0.0.1:8080/websocket -context-root/getResource)。您可以保留像"ws://127.0.0.1:8080/WebSocket-context-root/getResource/"这样的小hack +k。其中k是任意数/任意随机字符串。在服务器端,忽略路径变量k。
这样可以同时打开多个连接。每个域的最大连接数限制在这里不适用(在Firefox上测试)。我尝试了最多25个并行连接。
你可以使用websocket。readyState检查web套接字连接的状态。
onclose Web套接字有关闭连接的原因代码的事件。
下面的用户代码测试活动连接数。
var x=0
var intervalID = setInterval(function () {
websocket = new WebSocket("ws://127.0.0.1:8080/WebSocketApi/web/chat/"+x);
websocket.onopen = function (evt) {
console.log('open')
}
websocket.onmessage = function (evt) {
console.log('msg');
}
websocket.onclose= function (evt) {
console.log('closed');
}
if (++x === 15) {
window.clearInterval(intervalID);
}
}, 1);