是否可以根据具体操作为每个套接字创建超时?例如,假设用户单击一个按钮,在按下此按钮后,我发送到具有超时值的服务器(例如2000),在服务器端,我将其计数为0,并且不允许每个套接字单击该按钮如果服务器端的计数器不等于0,则按钮。计数本身并不是那么难,简单的间隔。但在客户端,它有点棘手,因为我不知道如何检查服务器端的计数器是否为0而不向服务器发出,如果用户在计数结束前单击按钮,则以某种方式禁止覆盖变量。有什么想法吗?
客户端:
socket.on("TimeoutResponse", function(data) {
console.log(data);
});
socket.emit("Timeout", "10");
服务器:
socket.on('Timeout', function(data) {
var interval = setInterval(function() {
data--;
socket.emit('TimeoutResponse', data);
if (data <= "0") {
clearInterval(interval);
socket.emit('TimeoutResponse', "Done");
}
}, 1000);
});