通过websockets连接到sails.js实例

时间:2017-03-20 15:05:01

标签: websocket socket.io sails.js

是否可以通过WebSockets将任何外部应用程序连接到我的sails.js应用程序?

我可以使用sails.js中嵌入的底层socket.io在客户端和服务器之间进行通信,这不是问题。

但是,我想通过websockets将另一个独立的应用程序连接到sails.js服务器,让这两个应用程序以这种方式相互通信,我想知道这是否可行?

如果是这样,我们怎么做?

感谢。

1 个答案:

答案 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' }

所以,似乎工作正常。