Linux通过改进的epoll实现对不同超时时间的数据包重传
应用背景:epoll模型是当前Linux网络编程的主流模型,可以高效解决多个事件并发的问题。在进行网络编程时,往往要对每一个发出的数据包进行ACK确认,若在指定的时间内没有收到ACK,则需要重传或者丢弃该数据包。那么如果在epoll模型中实现该功能呢?先来看看传统的做法:程序维护一个“已发出但是没收到ACK”的数据包记录R,记录包括数据包内容、数据包发送的时间戳t以及超时时间T。当需要进行数据包发送时,在发出数据包的同时把该数据包加...