2通讯过程中,所有的信息交流都必须通过云端么?
-
创建时间
15年7月27日
-
最后回复
15年7月31日
-
6
回复
-
2.1K
浏览
-
2
用户
-
2
链接
2通讯过程中,所有的信息交流都必须通过云端么?
针对你的问题:
那哪些在云端?哪些又不在,通讯又是怎样进行的呢?需要通过learncloud中转么?
回复如下:
使用 LeanCloud 的实时聊天功能,只有你发送的消息本身和打开一个 IMClient 时使用的 clientId,会保存在云端,其他数据都是你自己负责存储的。例如:
如果有一个用户A(clientId:USERAAA)和一个用户B(clientId:USERBBB)在你的应用内聊天,A 发送了一条消息:“吃饭了吗”,那么用户B那边收到的消息就是:
from: USERAAA
text:吃饭了吗?
如果A发了一张自拍照片给B,那么B那边收到的消息就是:
from: USERAAA
image:{url:"http://leancloud.cn/images/xxx.png"}
注意这里 image 后面的 json 只是示意,并不等同于我们 sdk 里面最终可以拿到的信息。对于图片类消息,我们 sdk 会先把图片上传到 LeanCloud 云端,然后把图片 url 发到用户 B 那里。
从应用角度来看,你收到了一条消息,需要在 UI 上显示出来,除了消息本身的数据之外,你可能还需要显示用户的信息,譬如昵称、头像等,这些数据就需要从你自己的后台来获取了。
最后补充一点,你也可以通过 LeanCloud 存储服务来保存用户账户数据(可以参考这篇文档11),那时候你就可以全部采用 LeanCloud 来开发整个产品了。
你可以看一下这个文档:实时通信服务概览12
其实简单来讲,我们只是做了一个通信层,帮你把消息发到目的用户那里。至于用户账号信息、好友关系,都不在聊天服务里面,你可以在自己服务端里来管理,也可以使用我们的存储服务来管理。
主题 | 分类 | 回复 | 浏览 | 活动 |
---|---|---|---|---|
海外節點 ,與資料轉換問題 | 意见反馈 | 3 | 1.5K | 15-11-5 |
是否有支持kotlin的打算? | 意见反馈 | 2 | 3.2K | 23-01-4 |
JS-JDK 一对一和一对多关可以在fetch() 前 select()吗 | 意见反馈 | 0 | 814 | 15-07-21 |
后台number字段属性建议 | 意见反馈 | 0 | 880 | 16-01-30 |
请问有计划加入Golang的云引擎吗? | 意见反馈 | 7 | 4.1K | 21-01-26 |