跳到主要内容

最佳实践 - PubSub (Websocket)

一对一消息发送

非常简单!例如您有user A, user B,如果您希望推送一条消息用户A收到,不希望用户B收到,那您只需要进行2个步骤:

  1. 用户A的页面订阅channel_user_a,用户B的页面订阅channel_user_b。
  2. 服务器只需要往channel_user_a上推送消息就可以了,推送后,就只有user A能收到,user B则无法接收。 具体实现中,可以将用户的id或者uuid来作为channel。

一对多消息发送

多个客户端只需要订阅同一个channel,那么不论是服务端还是客户端publish一条消息到这个channel,所有客户端都是可以接收的。
比如:
我们可以让开发团队的所有用户都订阅development_team这个channel,这个时候如果我们往development_team这个channel上发送一条消息,所有开发团队的成员就都可以收到。

发送对象和复杂数据

开发者可以通过发送JSON格式的字符串来达到扩展发送内容或者发送对象的目的。
比如:可以在发送前将要发送的对象转换为JSON格式的字符串,进行发送。