Javascript 如果通过套接字连接的用户数至少为一个节点,则运行用户定义函数
我正在试图找到一种方法来停止Javascript 如果通过套接字连接的用户数至少为一个节点,则运行用户定义函数,javascript,node.js,sockets,Javascript,Node.js,Sockets,我正在试图找到一种方法来停止setInterval(test,5000)函数运行,如果没有用户连接到socket stopsetInterval函数,因为它会造成大量资源浪费 我找到了这个方法,但我不知道怎么说 io.engine.clientsCount //this will tell number of users connected but only inside socket.on function. 下面是我的代码: 如果没有用户连接,如何最好地停止SetInterval(tes
setInterval(test,5000)
函数运行,如果没有用户连接到socket stopsetInterval
函数,因为它会造成大量资源浪费
我找到了这个方法,但我不知道怎么说
io.engine.clientsCount //this will tell number of users connected but only inside socket.on function.
下面是我的代码:
如果没有用户连接,如何最好地停止SetInterval(test,5000)的执行?要停止
SetInterval
,请使用clearInterval
指
如果您没有/1+连接的用户,是否还需要帮助停止/恢复setInterval
如果是这样,您可以尝试在计数器的同时管理对setInterval的引用:
var connectCounter = 0;
var interval = undefined;
然后:
然后:
connectCounter--;
if(connectCounter)这不仅仅是使用clearInterval。我知道clearInterval JS函数。但这里的问题是关于套接字的。函数测试和setInterval不在nsp的范围内。on()套接字连接和连接的总用户数只能在nsp.on()内找到函数,但我不能在socket.on连接中使用setInterval。因为它会为每个连接的客户端运行setInterval。好的。我将在几小时后尝试一下。
var connectCounter = 0;
var interval = undefined;
connectCounter++;
if (interval === undefined) interval = setInterval(test,5000);
connectCounter--;
if (connectCounter <= 0 && interval !== undefined) interval = clearInterval(interval);