使用Sails.io.js时如何从浏览器发出消息

时间:2016-10-24 16:19:47

标签: node.js socket.io sails.js sails.io.js

之前我会

<script>
var socket = io.connect(URL);
socket.emit("hello", {});
</script>

使用Sails.io.js,我尝试了io.sails.emit("myevent", jsonData) ...但不能这样做:

io.socket.emit is not a function

所以我确实向websocket(从浏览器)发送消息到你加入的房间?

我错过了什么?

http://sailsjs.org/documentation/reference/web-sockets/socket-client

1 个答案:

答案 0 :(得分:1)

目前sails.socket中没有方法.emit()

您应该使用.get().post().put().delete()

如何使用

而不是

socket.emit('eventName', jsonData)

现在你使用:

socket.get('routeToController', jsonData, callback);

示例:

您可以创建控制器SocketController.js

module.exports = {
    myevent: function(req, res) {
        res.json({
            value: 1
        });
    }
};

config/routes.js中添加:

'GET /socket/myevent': 'SocketController.myevent'

现在你可以打电话:

socket.get('/socket/myevent', jsonData, function(error, data){
    //data = {value: 1}
});