1000ms 후 연결 시간 초과 후 소켓을 닫으려고합니다. 1000ms 후에 트리거되는 타임 아웃을 설정할 수는 있지만 소켓을 파괴 할 수는 없습니다 ... 어떤 아이디어입니까?node.js에서 시간 초과 후 소켓을 닫으려면 어떻게해야합니까?
var connection = http.createClient(80, 'localhost');
var request = connection.request('GET', '/somefile.xml', {'host':'localhost'});
var start = new Date().getTime();
request.socket.setTimeout(1000);
request.socket.addListener("timeout", function() {
request.socket.destroy();
sys.puts("socket timeout connection closed");
});
request.addListener("response", function(response) {
var responseBody = [];
response.setEncoding("utf8");
response.addListener("data", function(chunk) {
sys.puts(chunk);
responseBody.push(chunk);
});
response.addListener("end", function() {
});
});
request.end();
반환
socket timeout connection closed
node.js:29
if (!x) throw new Error(msg || "assertion error");
^
Error: assertion error
at node.js:29:17
at Timer.callback (net:152:20)
at node.js:204:9
두 번째 링크가 많은 덕분에 좋은 예를 제공하는 코드를 GT는 할 Node.js를! – kolypto