摘要: 主要有三种方案:(1)调用Alarm,它在指定超时期满时产生SIGALRM信号,此方法涉及信号处理,而信号处理在不同的实现上存在差异,而且可能干扰进程中现有的ALARM调用。(2)在SELECT,即多路复用中阻塞等待IO,因为select有内置的时间限制,以此代替直接阻塞在read或write上的调用。(3)使用较新的SO_RCVTIMEO和SO_SNDTIMEO套接字选项,这个方法的问题在于并非所有的实现都支持这两个套接字选项。一、首先看一个如何调用Alarm,它主要是通过对慢系统调用产生中断信号来完成。int connect_timeo(int sockfd, const SA *sapt 阅读全文
posted @ 2012-03-17 23:51 杨少宁 阅读(2279) 评论(0) 推荐(1) 编辑