设计一个场景
如图,报文分为传输头和应用报文两部分。
传输头:①长度:应用报文的长度;②大包序号:1-250,按顺序生成;③小包序号,1-4,由程序生成;④小包数量:1-4,由程序生成。
应用报文:①正常报文和计时报文两种,随机生成,正常报文可以为大包也可以为小包,计时报文只有小包;②长度:报文正文长度;③报文正文:1-40字节,随机生成长度,1-10为a,11-20为b,21-30为c,31-40为d。
需要实现的部分:
- 接收过程:
①以顺序随机生成的报文表示接收报文;②组包;③组好的大包存到缓存中。(能实现代码重用) - 发送过程:
①顺序/随机生成报文;②拆包;③拆分的小包,以存到缓存表示发送报文。(能实现代码重用)
补充:
要想实现代码重用,就需要使新增的代码部分不改变原有函数的输入输出,举个例子,Func(recvMsg, len)这个函数的功能是对收到的消息进行处理,报文长度加长之后,Func的两个参数recvMsg和len都有所变化,但需要做的不是进入Func内部修改recvMsg和len,而是在Func上面就把recvMsg和len处理好,