服务器关闭后,node.js休息客户端崩溃

时间:2013-06-19 14:17:28

标签: node.js rest tcp restify

我有一个关于node.js rest client restify的问题。 所以我在服务器上发出请求并得到一个响应(它在控制台上打印很好)但是当我关闭我的服务器时,我的其余客户端因错误而崩溃:

events.js:72
        throw er; // Unhandled 'error event
              ^
Error: read ECONNRESET
    at errnoException (net.js:901:11
    at TCP.onread (net.js:556:19

我的代码很简单:

var restify = require('restify');

// Creates a JSON client
var client = restify.createJsonClient({
  url: 'http://127.0.0.1:3000/api/check'
});

client.get('', function(err, req, res, obj) {    
  console.log(obj);  // print response
});

我的服务器也是用node.js编写的,并使用快速框架和标准API,这些API在生产上工作了几个月,所以我怀疑它是有问题的。 看起来客户端没有关闭与服务器的TCP连接,但在修改教程时我没有找到指示去做。

感谢您提供任何信息!

1 个答案:

答案 0 :(得分:0)

agent: false添加到您的json客户端创建中:

var client = restify.createJsonClient({
    url: 'http://127.0.0.1:3000/api/check',
    agent: false
});

这样每次都会关闭TCP连接,如果服务器在收到您的响应后关闭,您将不会收到错误。