第三章 通信协议与软件编程3.1 相关的背景知识(1) 改进的循环队列概念本系统一些的缓冲区采用改进的循环队列结构.其机构如图 图4-3 改进的循环队列简化图 图中提供了三个指针Bp.In,Bp.Out,Bp.Try.其中Bp.In是队头指针.当队列接收一数据时,如果队列缓冲区尚有空间,则数据入队,同时Bp.In加1. Bp.Out是队尾指针.当数据要出队时, 如果队列缓冲区非空,则Bp.Out加1.队列缓冲区空或满的判定方法可以用下面的伪C语言描述:if(Bp.In+= Bp.Out) 队列缓冲区已满;/如果队头加1等于队尾指针,则表示该队列已满if(Bp.Out= Bp.In)队列缓冲区已空;/如果队尾指针赶上队头则表示该队列已空Bp.Try是为通信时重发而准备的.当要发送数据时, Bp.Try向前移动(Bp.Try+),但Bp.Out不动(数据不出队).当Bp.Try= Bp.In时,表示队列缓冲区已没有数据要发送.如果由于某些原因,要求数据重发,仅仅把Bp.Try