建立WebSockets连接时CPU消耗100%
100% CPU consumption while establishing WebSockets connection
我试图编写一个连接到WebSocket服务器的函数。此服务器关闭时会出现问题。这个函数应该等待它,即使等待很长时间,但它不应该消耗100%的CPU。这是我的代码:
var state = {
connected: false
};
var settings = {
host: 'localhost',
port: 1988
};
function connect(settings) {
try {
var socket;
var host = 'ws://' + settings.host + ':' + settings.port;
var socket = new WebSocket(host);
socket.onopen = function() {
state.connected = true;
}
// socket.onmessage
socket.onclose = function() {
state.connected = false;
connect(settings);
}
} catch(e){
console.log(e);
}
}
因此,我需要以某种方式将一个间隔传递给WebSocket构造函数,看起来它只是试图在循环中打开一个连接,从而扼杀性能。我该怎么做?
当您尝试连接时,套接字会立即关闭,导致您尝试再次连接。添加尝试间隔:
socket.onclose = function() {
state.connected = false;
setInterval(function() {
connect(settings);
}, 1000);
}
相关文章:
- 有没有写100以上的索引的捷径
- 宽度为100%的CSS元素位于视口之外
- 如何在jQuery Mobile中设置100%宽度的输入类型日期
- 一旦总和达到100,就禁用其余的数字框
- 100%的父图像.父级是固定位置的
- 普通JS:使80%宽度元素100%IF包含一个图像
- 如何使画布的宽度达到100%
- 使用css中设置的表宽度:100%,使表内容适合宽度
- 动画滚动100%(水平)
- iframe上的100%自动高度
- ExtJS使网格高度达到100%
- 如何让iframe填充整个页面100%和顶部:4px
- 使页面高度为浏览器的100%
- 将画布imageData中的像素更改为hsl(60、100%、50%)
- JavaScript 100 Doors
- 为什么身高不是100%
- 如何将 dojox.mobile.View 设置为 100% 的高度
- 3 行布局,100% 高度:1 自动,1 自动滚动,1 固定
- 简单的拉斐尔.js动画,使用"animation.repeat"消耗100%的cpu
- 建立WebSockets连接时CPU消耗100%