[Whatsapp] 关于typing......的实现

请问老师typing…是怎么实现的?

我猜是这样
User story
user A和user B text message, userA typing form keyboard 就会生成一些interval typing events,

  1. 如果userB在线, 这个event会直接转发给userB的websocket connection. 然后userB web/mobile端收到这个event然后ui展示一下
  2. 如果userB不在线,这个event没啥用直接不转发就好了, 可能直接就扔了(或者记个log在服务器上)

多谢指点

对的。可以认为 “Typing…” 就是用户在打字时候触发的消息,会间隔一段时间发送一次。只有当接收方在线时会传递出去。接收方的客户端在持续收到这个信息时会持续显示 “Typing…”,一旦收不到了就不再显示。