2016-11-15 20 views
1

我正在構建一個深度流的SOA,我想使用深流客戶端服務器來執行用戶不應該知道的基於API-KEY的查找。我如何實際設置RPC客戶端提供程序?我已經在深層次的文檔和谷歌上看過,但是沒有完整的代碼示例來說明如何做到這一點。我創建了一個如下所示的文件,並使用節點運行它。我得到的輸出是它下面:如何正確設置基於服務器的深流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

我認爲你的問題是基於你試圖通過webport連接節點的事實。嘗試使用端口6021代替tcp(由節點客戶端使用)。

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

你也應該只調用.login()一次,所以行會:

const client = deepstream('localhost:6021') 

我們在2.0版本的工作很快就會出來,這將完全刪除TCP,只需要一個端口在部署和性能方面讓生活更輕鬆。

+0

這工作,謝謝! – illogikal

相關問題