如何解决当客户端使用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 举报,一经查实,本站将立刻删除。