进击的小白Day019——报文生成与组包拆包(一)

本文介绍了报文结构,包括传输头和应用报文的组成部分,并详细说明了接收和发送过程中报文的处理步骤。强调了在设计中实现代码重用的重要性,通过举例说明如何在不改变原有函数输入输出的情况下增强功能。文中还分享了报文生成的代码实现。
摘要由CSDN通过智能技术生成

设计一个场景
如图,报文分为传输头和应用报文两部分。
在这里插入图片描述

传输头:①长度:应用报文的长度;②大包序号:1-250,按顺序生成;③小包序号,1-4,由程序生成;④小包数量:1-4,由程序生成。
应用报文:①正常报文和计时报文两种,随机生成,正常报文可以为大包也可以为小包,计时报文只有小包;②长度:报文正文长度;③报文正文:1-40字节,随机生成长度,1-10为a,11-20为b,21-30为c,31-40为d。

需要实现的部分:

  1. 接收过程:
    ①以顺序随机生成的报文表示接收报文;②组包;③组好的大包存到缓存中。(能实现代码重用)
  2. 发送过程:
    ①顺序/随机生成报文;②拆包;③拆分的小包,以存到缓存表示发送报文。(能实现代码重用)

补充:
要想实现代码重用,就需要使新增的代码部分不改变原有函数的输入输出,举个例子,Func(recvMsg, len)这个函数的功能是对收到的消息进行处理,报文长度加长之后,Func的两个参数recvMsg和len都有所变化,但需要做的不是进入Func内部修改recvMsg和len,而是在Func上面就把recvMsg和len处理好,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值