结构推理
在一个实现采取选择性重传的滑动窗口协议的程序代码的接近结尾处,有一个由3
条语句组成的循环:
/★处理捎带确认★/
% /★帧完整到达★/
/★ 将发送方窗口的低端向前推进★/
}
这里的表示发送缓存中保留的输出帧的数目,ack_expected表示下一个期待
接收的确认帧的号码。如果把这一段程序代码删除,会影响协议的正确性吗?还是仅影响
性能?请解释你的回答。
【正确答案】删除这段代码会影响程序的正确性,导致死锁(也可称活锁)。因为这段代码负责
处理接收到的确认帧,没有这段代码,发送方会一直保持超时条件,从而使得协议的运行不
向前进展。
【答案解析】