2016-11-15 2 views
1

Я создаю SOA с глубоким потоком, и я хочу использовать серверный сервер с глубоким потоком для выполнения запросов на основе API-KEY, которые пользователь не должен знать. Как мне настроить клиентский клиент RPC? Я посмотрел в документах deepstream и на google, но нет примера полного кода о том, как это сделать. Я создал файл, как показано ниже, и запустил его с узлом. Выход я получаю под ним:Как правильно настроить серверный провайдер RPC с глубоким потоком?

var deepstream = require('deepstream.io-client-js') 
const client = deepstream('localhost:6020').login() 
console.log('Starting up') 
client.on('error', (error,event,topic) => { 
    console.log(error, event, topic); 
}) 

client.on('connectionStateChanged', connectionState => { 
    console.log(connectionState); 
}) 

client.login({username: 'USER', password: 'PASSWORD'}, (success, data) => { 
    if (success) { 
    client.rpc.provide('the-rpc', function(data, response){ 
     response.send(data); 
    }); 
    } else { 
    console.log(data); 
    } 
}) 

-

Starting up 
AWAITING_CONNECTION 

Как вы можете видеть это работает код, но на самом деле не подключиться к серверу deepstream. У меня уже есть сервер глубокого потока, и клиент-браузер, который подключается к нему, поэтому конфигурация верна. Пожалуйста помоги!

ответ

3

Я думаю, что ваша проблема основана на том, что вы пытаетесь подключить узел через веб-порт. Попробуйте использовать порт 6021 вместо tcp (используемый клиентом узла).

const client = deepstream('localhost:6021').login() 

Вы также должны вызывать только .login() один раз, так что линия будет:

const client = deepstream('localhost:6021') 

Мы работаем на версии 2.0 выходит очень скоро, который удалит TCP полностью и требуют только один порт чтобы облегчить жизнь с точки зрения развертывания и производительности.

+0

Это сработало, спасибо! – illogikal

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