是否可以通过WebSockets将任何外部应用程序连接到我的sails.js应用程序?
我可以使用sails.js中嵌入的底层socket.io在客户端和服务器之间进行通信,这不是问题。
但是,我想通过websockets将另一个独立的应用程序连接到sails.js服务器,让这两个应用程序以这种方式相互通信,我想知道这是否可行?
如果是这样,我们怎么做?
感谢。
答案 0 :(得分:0)
根据SailsJS documentation,我们可以通过io
访问socket.io的sails.io
对象。
从那以后,我刚刚调整了boostrap.js:
module.exports.bootstrap = function (cb) {
sails.io.on('connection', function (socket) {
socket.on('helloFromClient', function (data) {
console.log('helloFromClient', data);
socket.emit('helloFromServer', {server: 'says hello'});
});
});
cb();
};
然后,在我的其他nodejs应用程序中,也可能是另一个SailsJS应用程序,稍后我将测试,我只是连接并发送了一条消息:
var io = require('socket.io-client');
var socket = io.connect('http://localhost:3000');
socket.emit('helloFromClient', {client: 'says hello'});
socket.on('helloFromServer', function (data) {
console.log('helloFromServer', data);
});
以下是输出。
在SailsJS中,我看到:
helloFromClient { client: 'says hello' }
在我的客户端nodejs app中,我看到:
helloFromServer { server: 'says hello' }
所以,似乎工作正常。