|
P1模拟发送方:首先从界面读取待发送的字符(每接受一个字符的输入),保存到文件file1.txt中,并启动计时器;
' ?% n1 K9 L8 s+ ^6 i* e4 |$ CP2模拟接受方,它从file1.txt中查找是否有新字符到来,并提供模拟界面给用户选择:
2 k& c8 L: Y% u; D3 @/ J1.Ack——>接受该字符
4 h/ t: `" Q) }2 L! { E+ } A2.NAK——>丢弃
$ N* Z( X1 m) i! B0 y; Z8 f1 C3.无反应——>导致超时" N t* h ]% r y# n
将用户选择的结果记录到file2.txt中,接受的字符保存到file3.txt中。
7 s. q% e0 @2 f6 ? I2 Z& {P1等待接收方应答,读取file2.txt决定以下操作:$ x4 Z" y T8 |, V. R1 i
如果是ACK,则继续接受用户输入
1 U. U6 Q" J( K0 l' V如果是NAK, 则重传该字符9 m/ v" G' p# I3 _- U8 L# H
如果超时仍没有新的ACK或NAK,则重传该字符
4 U6 \9 |4 Y* _ }注:file1.txt要发送的串,file2.txt保存中
, T( t/ S0 G7 }! D, ^* x) K# Z' U @8 b
1 X0 r# p: Z( E9 M- W( }% D7 A% f- R7 t, i
9 V& ]$ H# y2 L6 @) I
资源下载地址和密码(百度云盘): [/hide] 百度网盘信息回帖可见2 s( `) C6 i! X( [5 g2 s0 a
M4 I% `0 |) N, N7 {
) Z6 g7 U x9 n. n5 r, _ ~2 @7 R( N6 X" H
本资源由Java自学网收集整理【www.javazx.com】 |
|