消息跨设备同步原理——三端自动对齐
MChat 的三端架构
MChat 采用了典型的即时通讯多端架构:
手机端 ←→ MChat 云端 ←→ 电脑端
↕
网页版
所有端登录同一账号后,消息通过 MChat 云端作为中转和同步中枢,在各端之间自动对齐。
同步流程举例
场景:你在手机上发了一条消息给 A
- 手机端把加密消息发给 MChat 云端
- 云端存储这条加密消息,同时推送通知给 A 的设备
- 云端把这条消息也推送到你已登录的电脑端和网页版
- 你打开电脑端时,看到刚才自己发的那条消息也出现在聊天记录里
换设备登录、老设备上也能看到之前的消息,就是因为云端做了同步。
同步延迟
正常网络条件下,各端之间的同步延迟通常在几秒以内。极端情况(一方网络差)可能延迟几十秒甚至更久。
如果发现某个端的消息明显落后:
- 检查那个端的网络连接
- 手动刷新一下(下拉刷新或重启 MChat)
- 等一会儿再看
哪些消息会同步
| 消息类型 | 同步吗 | 说明 |
|---|---|---|
| 普通单聊消息 | ✅ 全部同步 | 所有登录设备都能看到 |
| 群聊消息 | ✅ 全部同步 | 同上 |
| 阅后即焚消息 | ❌ 不同步已焚毁的 | 没被读过的可能会同步,焚毁后不同步 |
| 私密对话 | ❌ 全程不同步 | 私密对话内容不写入云端,换设备看不到 |
| 文件和图片 | ✅ 同步元信息 | 云端保留加密副本,各端可下载 |
| 消息已读状态 | ✅ 同步 | 你在手机上标记已读,电脑上也会变已读 |
新设备登录
换了新手机或新电脑,第一次用 MChat 登录:
- 登录成功后,MChat 会自动从云端拉取历史消息
- 普通单聊和群聊的历史消息会完整同步下来
- 私密对话的历史不会同步——这些内容只存在于你之前那个设备上(已退出的话早就销毁了)
- 阅后即焚的消息不会同步(因为已经焚毁了)
同步需要注意的事
手机和电脑同时响
重要消息在多个端同时推送提醒是好事,但有些群聊刷屏的时候三端一起响会很吵。可以在 MChat 设置里分别给每个端设置不同的通知策略(手机保留重要群提醒,电脑关掉所有群提醒)。
离开电脑前要不要退出
在自己的电脑上可以保持登录;在公共电脑或临时设备上用完后一定要退出。MChat 的网页版会记住登录状态,不退出的话下一个用那台电脑的人可能直接就能看到你的聊天。
登录设备管理
定期去 MChat 设置里看看"已登录设备"列表,把不再使用的旧设备(比如旧手机、旧电脑)从列表里删掉。删掉后那些设备上就会自动下线,收不到你的消息了。
为什么不同步私密对话
私密对话模式的核心设计就是"设备零痕迹"——它连云端都不写,自然也不会跨设备同步。这是隐私设计的一部分,不是 bug。
如果你需要在多设备上都能看到某些对话,不要用私密对话模式,它从设计上就不支持这个需求。
相关阅读: