IM 即时通讯应用 接收消息时序问题

2023-08-24 11:08:00 +08:00
 rcj6056

IM 即时通讯应用 关于 APP 端消息接收时序的问题 场景: A-> 发消息到服务器->服务器推送到 B A 是早上 8:00 发的消息 B 是下午 18:00 登录的 接收到服务端推送的消息

那么这个时候

在 B 的手机上第一条消息会显示一个时间 这个时间用 A 消息的发送时间 还是用 B 消息的本地时间

9386 次点击
所在节点    Android
24 条回复
Znemo
2023-08-24 11:10:21 +08:00
作为用户,直觉认为应该是 A 消息的发送时间。
kamto
2023-08-24 11:11:33 +08:00
一般都用 A 投递消息到服务器成功的时间吧
richangfan
2023-08-24 11:13:33 +08:00
市面上这么多 IM 应用,哪有按接收时间算的
flyqie
2023-08-24 11:14:10 +08:00
敢用 B 的时间,绝对会被用户打爆。

太反直觉了。。用户体验极差。。

基本都是 A 消息的时间。
dudubaba
2023-08-24 11:15:52 +08:00
你没搞懂发送时间和接收时间(已读时间)的区别
rcj6056
2023-08-24 11:18:43 +08:00
@dudubaba 麻烦细嗦一波
opengps
2023-08-24 11:19:05 +08:00
统一用服务器时间作为可信时间,求差提醒校准时间
BBCCBB
2023-08-24 11:19:44 +08:00
不应该用时间来排序. 服务器给消息生成一个趋势递增的 id 来排序.
BBCCBB
2023-08-24 11:20:22 +08:00
rcj6056
2023-08-24 11:20:31 +08:00
@opengps 那如果 A 偷偷改了手机的时间 他发送的时间是 8 点 server 的时间是 12 点
B 收到的消息应该是什么时候呢
opengps
2023-08-24 11:21:54 +08:00
@rcj6056 真正操作都是以服务器时间为准。你非要用客户端时间,那就利用得到的差值进行下转换
imherer
2023-08-24 11:34:24 +08:00
肯定是 A 发送消息的服务器时间啊。
你朋友早上 8 点发了一条消息,你晚上 6 点才收到。 你问你朋友问他是几点发的消息?
SilentRhythm
2023-08-24 11:38:58 +08:00
A 消息的发送的服务器时间
corcre
2023-08-24 11:39:00 +08:00
肯定是统一以服务器接收到的时间为准啊
itskingname
2023-08-24 12:18:58 +08:00
应该是服务器收到 A 消息 的时间。
zjw7sky
2023-08-24 13:36:25 +08:00
以服务器接收到 A 的时间为准
zjw7sky
2023-08-24 13:36:41 +08:00
@zjw7sky 而且是服务器时间
4kingRAS
2023-08-24 14:14:57 +08:00
顺序按消息 id ,不会按时间戳的,时间戳(无论云侧还是端侧)都非常不靠谱
vzyw
2023-08-24 15:45:06 +08:00
服务器存消息的时间戳, 跟时区无关。 客户端把时间戳转换为本地时间。
hiliyan0818
2023-08-24 16:09:10 +08:00
按照产出的时间来确定

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/967894

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX