当客户端使用Node.JS关闭套接字时,如何防止采取任何措施?

问题描述

我正在使用一种条件来阻止该按钮调用发射,就像这样:

socket.on('connect',() => {
    console.log('Connected');
    $('button').attr('disabled',false);
});

socket.on('disconnect',() => {
    $('button').attr('disabled',true);
    console.log('Disconnected');
});

$('button').on('click',function () {
if (socket.connected === true) {
    socket.emit('customerTicket',{ data },function (resp) {
        if (resp === 'No tickets') {
            label.text(resp);
            alert(resp);
            return;
        }
        label.text('Ticket' + resp.number);
        console.log(resp);
    });
} else {
    alert('Cant connect to net');
}

我发现的问题是,例如,如果客户端操作员没有互联网,则实际上有60个段的间隔实际上是socket.connected = false,并且在此时间间隔内操作员可以单击该按钮多次,在客户端重新连接后,我可以看到操作员在那段时间内所做的所有单击,我知道这必须与Hearbeat-PingTimeout和PingInterval设置有关。

io = socketIO(server,{
    pingTimeout: 2000,pingInterval: 1000,});

使用这些设置,我几乎立即从客户端收到了断开连接事件。但这是最好的解决方案吗? 还有更好的答案吗?我该如何改善呢?

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...