我考虑的算法如下。
1) 发送方使用 sendto() 发送数据。
2) 等待接收方的 ACK 包。
3-1) 如果下一个数据包的 ACK 在超时时间内没有到达,则发送相同的数据包。
3-2) 如果下一个数据包的 ACK 到达,则发送下一个数据包。
就像普通算法一样。我想知道的是使用recvfrom() 计算超时并等待ACK 的方法。我首先想到使用线程,但必须有更好的方法。我怎样才能同时处理这两个?我应该使用带有时间相关变量的while语句吗?
我考虑的算法如下。
1) 发送方使用 sendto() 发送数据。
2) 等待接收方的 ACK 包。
3-1) 如果下一个数据包的 ACK 在超时时间内没有到达,则发送相同的数据包。
3-2) 如果下一个数据包的 ACK 到达,则发送下一个数据包。
就像普通算法一样。我想知道的是使用recvfrom() 计算超时并等待ACK 的方法。我首先想到使用线程,但必须有更好的方法。我怎样才能同时处理这两个?我应该使用带有时间相关变量的while语句吗?