如何在没有数据的情况下关闭超时为2秒的套接字?

时间:2011-12-22 10:56:13

标签: node.js

我试图像这样调用socket:

socket.end();

我希望在等待2秒并且不接收数据后实现类似的功能:

socket.on('data', function(data){}); 

我怎样才能实现这一目标?

1 个答案:

答案 0 :(得分:3)

function socketEnd(){ socket.end(); }
var timeout = setTimeout(socketEnd, 2000);
socket.on('data', function(data){
    # got data, delay the timeout
    clearTimeout(timeout);
    timeout = setTimeout(socketEnd, 2000);
});