golang-im聊天
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

32 lines
968 B

  1. @startuml
  2. participant c1.d1
  3. participant c1.d2
  4. participant c2.d3
  5. participant c2.d4
  6. participant connect
  7. participant logic
  8. c1.d1 -> logic: c1给c2用户发送消息
  9. logic --> c1.d1 : 返回消息发送成功
  10. logic -> logic: 获取c1用户下一个消息序列号
  11. logic -> logic: 将消息持久化到c1用户的消息列表
  12. logic -> logic: 查询c1用户其他在线设备
  13. logic --> connect: 给设备d2发送消息
  14. connect --> c1.d2: 给设备d2发送消息
  15. c1.d2 ->connect : 消息ack
  16. connect -> logic: 消息ack
  17. logic -> logic: 获取c2用户下一个消息序列号
  18. logic -> logic: 将消息持久化到c2用户的消息列表
  19. logic -> logic: 查询c2用户所有在线设备
  20. logic -> connect: 给设备d3发送消息
  21. connect -> c2.d3: 给设备d3发送消息
  22. c2.d3 ->connect : 消息ack
  23. connect -> logic: 消息ack
  24. logic -> connect: 给设备d4发送消息
  25. connect -> c2.d4: 给设备d4发送消息
  26. c2.d4 ->connect : 消息ack
  27. connect -> logic: 消息ack
  28. @enduml