根据停止等待协议的算法,编写一个实现协议的程序

来源:百度知道 编辑:UC知道 时间:2024/05/23 17:19:33
停止等待协议的算法,
在发送节点:
(1) 从主机取一个数据帧,送交发送缓存。
(2) 发送状态变量V(S)初始化,V(S)←0。
(3) 将发送状态变量值写入数据帧中的发送序号N(S),N(S)←V(S)。
(4) 将发送缓存中的数据帧发送出去。
(5) 设置超时计时器(选择适当的超时重传时间Tout )。
(6) 等待。
(7) 收到确认帧ACKn,若n=1-V(S),则:
从主机取一个新的数据帧,放入发送缓存:
V(S)←[1-V(S)];转到(3)。
否则,丢弃这个确认帧,转到(6)。
(8) 若超时计时器时间到,则转到(4)。
在接收节点:
(1) 接收状态变量初始化,V(R)←0。
(2) 等待。
(3) 收到一个数据帧:
若N(S)=V(R),则执行(4);
否则丢弃此数据帧,然后转到(6)。
(4) 将收到的数据帧中的数据部分送交上层软件。
(5) 更新接收状态变量,准备接收下一个数据帧,V(R)←[1-V(R)]。
(6) n←V(R),发送确认帧ACK,转到(2)。

算法已经在上面了,
可以用C++或者Java的Socket类来实现计算机间的数据通信
————————
这个题目还是有些意思的,网络程序设计...
amu_tvb完成了可不可以给我发个源码过来呢...