默认
发表评论 20
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
移动端IM里,语音留言这些东西都是通过http协议进行中转收发,你的思路就错了吧。
详见这个帖子里的讨论:《请问有人知道语音留言聊天的主流实现方式吗?
评论 20
引用:LeoLee 发表于 2017-06-10 14:29
谢谢回复,我不是要做语音留言,是需要做一个实时的数据传输中间件,用做简单的一个语音电话,我们这边的 ...

低层的方法其实就是以byte数组的形式传输的,你可以从底层改造一下,别转成string再回转为byte,这样转就会让效率变低,没有必要。你可以考虑在底层传输的时候为byte数组加一个头标识位,比如当是0的时候就是现在原有的指令内容,当为1时就是你新增的定制byte数组传输内容,这样就合理高效多了,而且这样改也不影响你增加指令之前的算法逻辑,你只需要在发送和接收这连的代码最底层来封装就可以。
引用:狂奔的蜗牛 发表于 2017-06-12 17:07
我感觉实时传输都走的是流了,不是data,而且服务端只是打开两个客户端的连接通道,以后的流传输都不走服务 ...

实用的实时音视频系统都是优先考虑p2p,在p2p不通的情况下才考虑服务器转发。P2P的技术资料你可以看看这个系列文章:http://www.52im.net/thread-50-1-1.html
引用:LeoLee 发表于 2017-06-12 17:53
感觉还是很难改,目前源码里面相当于还是传的string,用的Gson来转换,我是想修改成二进制数据,换其它的 ...

你还是没有仔细看源码,最底层就是byte数组啊,卡住最底层的方法扩展一下
引用:LeoLee 发表于 2017-06-12 17:56
能否详细说一下,我只看到ProtocalFactory部分是用Gson来相互转换的,难道还有更底层的部分?

去看看发送数据的代码:LocalUDPDataSender
引用:turays 发表于 2017-07-08 12:38
我现在也是想用序列化来实现,但是在服务端接受数据解析这块出现了问题,不知道能不能交流下

从数据收发的根方法进行修改。我会考虑在以后的MobileIMSDK版本里直接开放出收发byte数组的方法。
引用:turays 发表于 2017-07-08 12:38
我现在也是想用序列化来实现,但是在服务端接受数据解析这块出现了问题,不知道能不能交流下

从数据收发的根方法进行修改。我会考虑在以后的MobileIMSDK版本里直接开放出收发byte数组的方法。
引用:632743365 发表于 2017-10-12 22:52
jack,您好。              我想实现语音对讲,于是我测试了将发送的String类文本消息转换为bytep[]类型后 ...

你参考一下我在这个帖子里的因复:
[已回复] MobileIMSDK发送消息的最大字节数是多少?超了会出现什么情况?
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部