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

默认
发表评论 3
自定义的UDP私有协议,消息头为什么要加消息长度?
自定义的UDP私有协议,消息头为什么要加消息长度?UDP不会出现粘包问题,是不是为了更容易读取消息体?

upd_header {
    command_type : unsigned char
    total_length: unsigned int
    flag :  unsigned char
}

body {
}


即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

上一篇:netty编译器对与后续操作有多大影响下一篇:UDP私有协议如何进行数据包的检验?
推荐方案
评论 3
是的,UDP不会发生粘包问题,所以不需要消息长度这种东西,估计这是设计TCP的习惯带过来的吧,一般来说在UDP里没有意义。
签名: 《如果这样来理解HTTPS,一篇就够了》http://www.52im.net/thread-1890-1-1.html
难道这个长度是为了防止udp包过长被截断,用来比对数据是否完整的作用??
签名: 该会员没有填写今日想说内容.
引用:clark.li 发表于 2018-06-12 09:52
难道这个长度是为了防止udp包过长被截断,用来比对数据是否完整的作用??

理论上超过长度,会被丢弃了,udp不像tcp这种“流”式的通道,拆包从技术或硬件上还是比较难处理的,会把协议栈那一层的事搞复杂,也就违背了UDP协议保持简单高效的初衷了
签名: 《如果这样来理解HTTPS,一篇就够了》http://www.52im.net/thread-1890-1-1.html
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部