根据recv()
的手册页,如果已为使用setsockopt(SO_RCVTIMEO)
的接收设置了超时,则errno
将设置为EAGAIN
或EWOULDBLOCK
。
我的问题是,如果多个这样的套接字与select()
一起使用,会发生什么情况。如果其中一个套接字由于不活动而超时,将选择返回。select()
将返回的内容。
我正在尝试实现一个具有检测超时功能的tftp服务器。一种方法是对select()
使用超时,但然后我必须为每个套接字使用不同的超时值,并不断将计时器更新为最小值,然后进行一些更多的变戏法...等等。等等。感觉好像有很多不必要的工作。
PS: tftp服务器是一个并发服务器,它使用I/O多路复用处理多个客户端。
https://stackoverflow.com/questions/55638970
复制相似问题