Closed yiippee closed 2 years ago
// SendToFriend 消息发送至好友 func (*friendService) SendToFriend(ctx context.Context, sender *pb.Sender, req *pb.SendMessageReq) (int64, error) { // 发给发送者 seq, err := proxy.MessageProxy.SendToUser(ctx, sender, sender.SenderId, req) if err != nil { return 0, err } // 发给接收者 _, err = proxy.MessageProxy.SendToUser(ctx, sender, req.ReceiverId, req) if err != nil { return 0, err } return seq, nil }
发送消息给好友时,为什么给接收者发送了一份,还要给发送者(就是自己)发送一份消息呢? 我理解的是,你使用的是写扩散的方式,每个用户都拥有与自己有关的收发的所有消息记录,聊天记录就很完整,那这样存储起来是不是很冗余?谢谢。
这个是为了支持多设备,发送给自己的其他设备
嗯嗯,是的。 发送给自己的其他设备的消息记录也要存储起来吗?感觉没有必要存储啊
是需要存储的,因为其他设备也需要离线消息同步,比如,企业微信,PC登录之后,就会同步历史消息
发送消息给好友时,为什么给接收者发送了一份,还要给发送者(就是自己)发送一份消息呢? 我理解的是,你使用的是写扩散的方式,每个用户都拥有与自己有关的收发的所有消息记录,聊天记录就很完整,那这样存储起来是不是很冗余?谢谢。