请选择 进入手机版 | 继续访问电脑版

默认
打赏 发表评论 43
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
引用:JackJiang 发表于 2020-05-28 10:43
你问的是本地sqlite怎么设计还是服务端?

@JackJIang  您好,问的是服务器端消息存储的数据库设计。 怎么来按照会话存储,

因为需要按照用户来查询的,所以肯定会把用户编号作为一个独立的列。那么是不是会有两个表,一个是对话信息,记录会话编号及参与者(sessid, userid),另外一个就是会话消息 (sessid, msgid, msgcontent...)
类似这样?

单聊或者群聊的时候,这个会话编号该怎么生成呢。
谢谢。
引用:danielstock 发表于 2020-05-28 12:21
@JackJIang  您好,问的是服务器端消息存储的数据库设计。 怎么来按照会话存储,

因为需要按照用户来 ...

你说的会话id可以用对方的用户id,你这个表里记录的其实是跟“谁”的聊天记录,你要理解问题的本质
签名: MobileIMSDK v5.0已正式发布,详见:https://github.com/JackJiang2011/MobileIMSDK/releases/tag/5.0
引用:JackJiang 发表于 2020-05-28 13:41
你说的会话id可以用对方的用户id,你这个表里记录的其实是跟“谁”的聊天记录,你要理解问题的本质

a/b单聊的话,比方a发了一条消息,就记录 发送方a,接收方b,消息id1, 发送时间/内容等。同样b发送的就记录 发送方b,接收方a, 消息id2,发送时间/内容。  a需要拉取离线消息时,就把所有发送方或者接收方为a的记录,拉取回来就行了。
如果是群聊,发送方为发言的人,接收方为群id。a拉取离线消息时,依次拉取所在群的消息即可。
是这样吗 @JackJiang
引用:danielstock 发表于 2020-05-28 16:46
a/b单聊的话,比方a发了一条消息,就记录 发送方a,接收方b,消息id1, 发送时间/内容等。同样b发送的就记 ...

大概就是这样了。
签名: MobileIMSDK v5.0已正式发布,详见:https://github.com/JackJiang2011/MobileIMSDK/releases/tag/5.0
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部