c++ - select() 用于 UDP 连接

有人可以向我解释为什么我们在等待超时时使用select()之前recvfrom()(在服务器端)而不是之前(在客户端)之前的函数吗?sendto()在我看来,超时应该在发件人一方。

//EX

CLIENT SERVER

------ ------

select() /* start timeout */

sendto() /* --send packet--> */ recvfrom()

recvfrom() /* <--send ACK-- */ sendto()

并且只要在超时之前收到了 ACK,发送者就可以发送另一个文件。