我有一个关于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连接,但在修改教程时我没有找到指示去做。
感谢您提供任何信息!
答案 0 :(得分:0)
将agent: false
添加到您的json客户端创建中:
var client = restify.createJsonClient({
url: 'http://127.0.0.1:3000/api/check',
agent: false
});
这样每次都会关闭TCP连接,如果服务器在收到您的响应后关闭,您将不会收到错误。