Node.js REST с сокетами

Проблема, которую я пытаюсь решить,

  • клиент делает спокойный POST на сервер узла.
  • сервер node взаимодействует с другим внешним сервером через сокет.
  • когда ответ сокета возвращается с другого сервера - сервер узла отвечает клиенту с полученными данными.

Я могу общаться с клиентом через REST и отдельно могу общаться с внешним сервером через сокет (время отклика ~ 100 мс). Но объединение этих результатов ничего не дает.

const sjsc = require('sockjs-client');
app.post('/form', function(req, res) {
    const srvc = sjsc('http://external.server:port/path');
    srvc.onopen = function () {
        srvc.send(testData);
    }

    srvc.onmessage = function(data) {
        console.log('received ', data);
        res.send(data);
    };
});

person literallypenguin    schedule 10.05.2016    source источник
comment
Ваш обработчик srvc.onmessage вообще работает?   -  person apsillers    schedule 10.05.2016
comment
не в сочетании с использованием app.post. если я удалю все, что связано с сервером (приложением), и запущу его, используя только sjsc и узел - он работает безупречно.   -  person literallypenguin    schedule 10.05.2016


Ответы (1)


const srvc = sjsc('http://external.server:port/path');

это должно было быть let. это единственное, что я изменил и работает отлично.

let srvc = sjsc('http://external.server:port/path');

person literallypenguin    schedule 11.05.2016