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

how to emit a message from browser when using 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

目前 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}
});