所以我想听听我从Sails.js应用程序中的套接字获得的消息。我怎样才能做到这一点?
方法上有socket.io吗?
答案 0 :(得分:3)
就像socket.io on
方法一样。
请查看此处: http://sailsjs.org/#!/documentation/reference/websockets/resourceful-pubsub
这是一个小例子。
假设您正在使用Model.message
到broadcast your messages,并且正在使用Sails' Socket Client。
在这个例子中,我们假设:
/messageStream
User
要收听消息,您必须先订阅上下文。让我们继续......
订阅您的控制器:
User.subscribe(req.socket, { id: req.user.id }, 'message');
第一个参数是请求套接字,第二个参数是您要订阅上下文的用户列表(在此示例中,只有一个)用户)和第三个是您要订阅的上下文,在这种情况下只是message
上下文。
在您的客户端收听消息:
io.socket.get('/messageStream');
io.socket.on('user', function(obj) {
if(obj.verb === 'messaged') {
console.log(obj);
// Do something fun with the message object!
}
});
io.socket.get
中的参数是您控制器的路线。
io.socket.on
中的第一个参数您的模型名称小写。
请注意,当您收到消息时,收到的对象附带messaged
动词。
......这就是它。