业务需求为一固定客户端发送固定包长为25的数据包,且只能注册发送一包,其他还有不同长度的包需要接收,且都来源于同一客户端
方案一 (不可行):使用netty的定长解码器进行粘包/分包处理,但如果长度定为25,那大于25的包必定会被分包。如果超过25,那注册第一包且只能发送一包的数据将会丢失。因为客户端协议已经定好,不好修改,所以采用最大定长,不够补0的方法也不方便。
方案2(可行):只能自己根据包的类型来判断是否手动封包了,具体业务细节不说了,最终解决问题。
业务需求为一固定客户端发送固定包长为25的数据包,且只能注册发送一包,其他还有不同长度的包需要接收,且都来源于同一客户端
方案一 (不可行):使用netty的定长解码器进行粘包/分包处理,但如果长度定为25,那大于25的包必定会被分包。如果超过25,那注册第一包且只能发送一包的数据将会丢失。因为客户端协议已经定好,不好修改,所以采用最大定长,不够补0的方法也不方便。
方案2(可行):只能自己根据包的类型来判断是否手动封包了,具体业务细节不说了,最终解决问题。