我已经开始学习网络套接字了。在当今时代,必须学习技术。但我很想了解更多关于它的信息。我的基本问题是在客户端可以创建多少个 WebSocket 连接。
我的典型应用程序是基于 html UI 的服务器,我有基于休息的服务。我需要跟踪是否
- 会话超时是否已发生
- 与服务器的连接是否丢失?一种用于检查连接的池程序是否存在。
所以我在客户端上创建了 2 个 websocket 对象,并为它们创建了不同的 url。
我希望我已经正确实施了吗?
我已经开始学习网络套接字了。在当今时代,必须学习技术。但我很想了解更多关于它的信息。我的基本问题是在客户端可以创建多少个 WebSocket 连接。
我的典型应用程序是基于 html UI 的服务器,我有基于休息的服务。我需要跟踪是否
所以我在客户端上创建了 2 个 websocket 对象,并为它们创建了不同的 url。
我希望我已经正确实施了吗?
基本上,一旦您打开到SAME URL (ws://127.0.0.1:8080/WebSocket-context-root/getResource) 的新连接,浏览器就会关闭旧的 websocket 连接。您可以保留像“ws://127.0.0.1:8080/WebSocket-context-root/getResource/”+k 这样的小技巧。其中 k 是任意数字/任意随机字符串。在服务器端,只需忽略路径变量 k。
通过这种方式,您可以同时打开多个连接。每个域的最大连接数的浏览器限制不适用于此处(在 Firefox 上测试)。我尝试了最多 25 个并行连接。
您可以使用 websocket.readyState 来检查 Web 套接字连接的状态。
Web 套接字的 onclose 事件有关闭连接的原因码。
用户下面的代码来测试活动连接的数量。
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);