@startuml participant c1.d1 participant c1.d2 participant c2.d3 participant c2.d4 participant connect participant logic c1.d1 -> logic: c1给c2用户发送消息 logic --> c1.d1 : 返回消息发送成功 logic -> logic: 获取c1用户下一个消息序列号 logic -> logic: 将消息持久化到c1用户的消息列表 logic -> logic: 查询c1用户其他在线设备 logic --> connect: 给设备d2发送消息 connect --> c1.d2: 给设备d2发送消息 c1.d2 ->connect : 消息ack connect -> logic: 消息ack logic -> logic: 获取c2用户下一个消息序列号 logic -> logic: 将消息持久化到c2用户的消息列表 logic -> logic: 查询c2用户所有在线设备 logic -> connect: 给设备d3发送消息 connect -> c2.d3: 给设备d3发送消息 c2.d3 ->connect : 消息ack connect -> logic: 消息ack logic -> connect: 给设备d4发送消息 connect -> c2.d4: 给设备d4发送消息 c2.d4 ->connect : 消息ack connect -> logic: 消息ack @enduml