2014-12-25 3 views
-1

Я использую Угловая с nodejsУгловые JS Прекратите работать после нескольких запросов

Посылаю запрос GET к серверу на каждом окне свитка

Он работает отлично на 5 запросов, но после 5 запросов он перестает работать ,

Я использую $http.get('url')

Я держу URL же сейчас.

Как я могу заставить его работать более чем на 5 запросов?

+1

Как мы можем помочь вам, не видя кода? –

ответ

0

Причина, по которой node.js использует «http agent» для создания http connection.this пула соединений сокета соединения, ограничение по умолчанию num равно 5 на каждый узел + порт, а агент http добавляет параметр «Connection: Keep-Alive» при вызове запроса, то возвращаемое соединение не может быть выпущено, поэтому следующий запрос может ничего не делать, кроме как ждать.

есть три пути решения этой проблемы

  1. запретит HTTP Agent, добавьте агента: ложные когда метод Invoke ГЭТ. например

    var http = require ('http'); app.get ('/ status.taobao', function (req, res) { http.get ({host: '127.1', порт: 7001, агент: false, путь: '/status.taobao'}, функция (RES) { res.send (res.statusCode); }.) на ('ошибка', функция (ERR) { logger.error (ERR); res.send (404); }); });

  2. установить атрибут http глобального объекта.

    http.globalAgent.maxSockets = 1000;

  3. близко соединить automantically когда reqeust возвращает

    http.get (опции, функция (Рез) { }). На ("гнездо", функция (гнездо) { socket.emit ("agentRemove") Я рекомендую первый номер.

Смежные вопросы