实现一个简单的“停-等”协议。
ned 文件:将 tic 和 toc 分为两个简单模块,tic 发送,toc 接收。
txc8.cc 文件:tic 发送消息,计时功能用scheduleAt(simTime()+timeout, timeoutEvent);
实现。如果 1s 后 tic 没有收到 ACK,那么就会重传一个新的消息;如果收到 ACK,则调用函数cancelEvent(timeoutEvent);
取消自消息的计时,删除接收到的ACK,并创建一条新消息发送给 toc,并重新设定计时器发送一条 1s 后接收的自消息。
toc 模块设置丢包率为 0.1,如果丢包,则用bubble(message lost);
在仿真界面有 message lost 的提示;如果不丢包,则发送消息给 tic 作为 ACK。