默认
发表评论 7
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
为何要增加这个“时间”?是用在什么场景下?能否不用或者在客户端解决?

其实MobileIMSDK里是可以通过服务端增加你这个“时间”的,但不建议这样做,因为这样的话,会让服务端单纯的即时通讯通道变的复杂,而不利于上线后用户量变多时的负载优化。你先回答我上面的问题吧,如果非得要这么干,我再另回复你。
评论 7
引用:jishitongxun 发表于 2016-04-01 13:39
我数据库需要保存时间,不能客户端传过来,一定要服务器上的。然后再将A客户端的信息拼接回刚保存的时间 ...

你的思路有点乱。

你单纯的只是想把用户发的消息在服务端的db里存一份,同时为这个消息加一个发送时间(存到数据库里),仅此而已是吗?
引用:jishitongxun 发表于 2016-04-01 14:18
是啊,A客户端只是发送文字内容,但是时间要是在服务端生成的!!保存db后,再把消息和时间发送给B客户端 ...

服务端有专门的回调方法,可以拿到用户间发送的消息,而不需要你人工干预用户消息的发送。这个回调接口专门是用来作为服务端后台收集用户的私人聊天信息用的,虽属侵犯用户隐私,但哪个聊天app没有?

其实你涉及到的就是这个回调方法,不要把事情复杂化了:http://docs.52im.net/extend/docs ... , java.lang.String)
你还是没描述清楚你具体是想做成个什么东西,很难为你提供最佳实践建议。

其实第一条回复就可以告诉你:可以通过客户端A将要发送的消息先发给服务端,再由服务端发给B,服务端在收到A的消息时,可以把你要的“时间”放进去。

但上面这种处理方法,显然是违背即时通讯架构的最佳实践的,只能算是hack!想知道你的真正需求目的是,评估你的这个东西非得通过服务端这么折腾是否有必要,另一个是有无其它更简单的途径。

真要这么实现的话,建议最好想清楚哦。
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部