AiThao
技术 · AiThao

实时消息

消息应当在你发送的瞬间出现在对方手机上,而且途中绝不能丢失。这是两件不同的事,AiThao 按这个顺序完成:先保存,再投递。

它为你做了什么

  • 消息和表情回应会立即出现在对方手机和你的其他设备上。
  • 离线的手机重新上线后会补收所有消息,不留空缺。

如何运作

每个应用都与服务器保持一条经过认证的 WebSocket 连接。你发送消息时,服务器先把它写入数据库,然后才发布事件。多个服务器进程并行运行,通过共享的发布/订阅通道相互传递事件,因此哪个进程持有接收方的连接,就由哪个进程投递。

如果接收方离线,推送通知会唤醒他的手机,应用重新连接时会从重放日志中补收。在端到端加密的聊天中,这整个过程中传递的是服务器无法读取的加密信封。

底层技术

WebSocket · Node.js · TypeScript · PostgreSQL · Redis

常见问题

没有网络时发送消息会怎样?

网络恢复后应用会自动发送。服务器一收到,就会在通知任何人之前先保存。

服务器会保存加密消息多久?

直到接收方的每部手机都收到副本为止,最长 30 天。

亲自体验翻译效果

在应用上线之前,你可以先通过网页演示了解 AiThao。AiThao 正在等待 Apple 审核后上架 App Store,目前还没有安装链接。

打开演示