默认

[已回复] 求教MobileIMSDK的UDP传输过程中头部的大小

查看数: 46263 | 评论数: 11 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2017-07-10 18:10

正文摘要:

我看了你写的那个文章,udp在传输过程中尽量将包控制在512左右,我现在需要传输的数据有点大,目前选择是切包然后传递,你的udp包头部是封装在一起的,所有我想知道udp包头部信息(Android端向服务器发包)一共是在多 ...

评论

渐渐的贱贱的 发表于 6 年前
引用:JackJiang 发表于 2017-07-11 14:39
底层都是utf-8编码

好的,谢谢了
JackJiang 发表于 6 年前
引用:渐渐的贱贱的 发表于 2017-07-11 12:06
你这边在传输汉字的过程中是一个汉字三个字节吗,我这边算的好像是3个,是因为编码方式的原因导致的吗

底层都是utf-8编码
渐渐的贱贱的 发表于 6 年前
引用:JackJiang 发表于 2017-07-11 11:18
是的,这个就可以了

你这边在传输汉字的过程中是一个汉字三个字节吗,我这边算的好像是3个,是因为编码方式的原因导致的吗
JackJiang 发表于 6 年前
引用:渐渐的贱贱的 发表于 2017-07-11 10:52
是打印这个方法中的message吗

是的,这个就可以了
渐渐的贱贱的 发表于 6 年前
引用:JackJiang 发表于 2017-07-11 10:32
不用修改代码,直接把服务端的源码放上去,打印出一个单字符消息的byte长度,不就知道框架级里的协议格总 ...

我使用demo是只能获取到回调输出的那个方法,但是那个方法获取出来的内容应该不是整个报文的内容吧,如果要知道具体的长度应该是要去找整个服务器的那个源码里面找到获取udp的地方吧
渐渐的贱贱的 发表于 6 年前
引用:JackJiang 发表于 2017-07-11 10:32
不用修改代码,直接把服务端的源码放上去,打印出一个单字符消息的byte长度,不就知道框架级里的协议格总 ...

我看你这边服务器开启监听端口是通过NioDatagramAcceptor,获取UDP包是通过Mina吗,那这样的话是通过上面的那个message去获取整个udp包大小吗
JackJiang 发表于 6 年前
引用:渐渐的贱贱的 发表于 2017-07-11 10:19
我这边需要传输的是长文字,我用的你的那个demo,获取客户端发来的udp的数据是直接通过你里面的回调方法 ...

不用修改代码,直接把服务端的源码放上去,打印出一个单字符消息的byte长度,不就知道框架级里的协议格总长度了吗。
渐渐的贱贱的 发表于 6 年前
引用:JackJiang 发表于 2017-07-10 18:59
你要发送的是什么数据?音视频的包?

论坛上的那篇UDP包数据长度我在别的资料上查到过,貌似论坛上说的5 ...

我这边需要传输的是长文字,我用的你的那个demo,获取客户端发来的udp的数据是直接通过你里面的回调方法得到的,然后获取框架协议的自身长度是需要修改你的代码吗,在你获取udp包的里面去获取包的大小
JackJiang 发表于 6 年前
你要发送的是什么数据?音视频的包?

论坛上的那篇UDP包数据长度我在别的资料上查到过,貌似论坛上说的512是不对的,理论上应该是可以超过1000多字节,建议你自已以真实测试为准。

至于服务端框架的协议自身占用的长度,你在服务端把数据打印出它的长度就知道了。依赖这个长度貌似并不优雅,因为后面要是换成pb了那不就变了?
渐渐的贱贱的 发表于 6 年前
然后在发送udp请求时你这边除了头部信息外是否还有携带一些东西,我想知道我(Android端)如果向服务器发送消息,在保证不超过512字节的情况下能够发送的最大字节数是多少

返回顶部