我正在编码停止并等待UDP文件传输。
每次我发送一个数据包,启动超时计时器并等待确认。如果我收回确认,则传输下一个数据包。如果我收到一个nack或没有收到回复,一旦我的超时到期,就会重新传输该数据包。
对于接收器端,每当我收回一个数据包时,当校验和和序号都计算时,传输一个确认。还有一个小问题。
这是我的学校作业,用于编码带错误检测的udp文件传输。 所以不要让我使用tcp。
问题是当我想结束连接时。一旦发送了最后一个数据包,病态现在会向接收方发送EOF消息,表示文件传输结束。所以我发送EOF消息,然后启动计时器。接收器接收EOF消息,发回ACK消息并关闭。但是,如果此ACK消息被丢弃,则发送方将超时并将重复重新发送EOF消息。我如何防止这种情况?