我正在使用deepstream构建SOA,并且我想使用深度客户端服务器来执行用户不应该知道的基于API-KEY的查找。我如何实际设置RPC客户端提供程序?我查看过深层文档和google,但是没有关于如何执行此操作的完整代码示例。我创建了一个像下面这样的文件并使用node运行它。我得到的输出低于它:
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服务器,并且连接了一个浏览器客户端,所以配置是正确的。请帮忙!
答案 0 :(得分:3)
我认为您的问题是基于您尝试通过网络端口连接节点的事实。尝试使用端口6021代替tcp(由节点客户端使用)。
const client = deepstream('localhost:6021').login()
您也应该只调用.login()
一次,因此该行将是:
const client = deepstream('localhost:6021')
我们正在努力推出即将推出的2.0版本,它将完全删除tcp,并且只需要一个端口就可以在部署和性能方面更轻松。