如何在Sails.js中侦听来自套接字的消息?

所以我想听从我的Sails.js应用程序中的套接字获得的消息。 我怎样才能做到这一点?

有什么像socket.io方法?

有一些像socket.io方法。

看看这里: http : //sailsjs.org/#!/documentation/reference/websockets/resourceful-pubsub


这是一个小例子。

假设您使用Model.message来广播您的消息 ,并使用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动词。

…这就是它。