2016-11-15 6 views
1

私はdeepstreamを使用して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サーバーに接続しません。私はすでにdeepstreamサーバーを稼働させており、そこに接続するブラウザー・クライアントを持っているので、構成は正しいです。助けてください!

答えて

3

あなたの問題は、あなたがwebport経由でノードに接続しようとしているという事実に基づいていると思います。 tcpの代わりにポート6021を使用してみてください(ノードクライアントによって使用されます)。

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

また、一度だけ.login()を呼び出す必要があり、その行は次のようになります。

const client = deepstream('localhost:6021') 

を私たちは完全にTCPを削除し、単一のポートが必要になりますこれは非常にすぐに出てくる2.0のリリースに取り組んでいます展開とパフォーマンスの面でより使いやすくなっています。

+0

これは、ありがとう! – illogikal

関連する問題