2013-06-19 1 views
0

У меня возникли вопросы о том, что клиент rest. node rest.js. Так что я сделать запрос на сервер, и я получаю ответ (он печатает хорошо на консоли), но когда мне выключить сервер мои остальные клиентские chrashes с ошибкой:node.js клиент клиент chrash после выключения сервера

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, который работает в течение нескольких месяцев на производстве, поэтому я сомневаюсь, что это проблема в этом. Похоже, клиент не закрыл TCP-соединение с сервером, но в обновлении руководств Я не нашел инструкции для этого.

Спасибо за любую информацию!

+0

Я думаю, что это не покажет предвзятую ошибку, если вы справитесь с ней в 'server.on ('disconnect', function() {.....});' Исправьте меня, если я ошибаюсь –

+0

@sumitb. mdi Он спрашивает о стороне клиента. –

+0

Я не могу повторить ... какую версию узла вы используете? –

ответ

0

Добавить agent: false к вашему созданию клиента JSon:

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

Таким образом, соединение TCP будет закрыто каждый раз, и вы не получите сообщение об ошибке, если сервер закрыт после того, как вы получите ваш ответ.