套接字相关函数默认是采用阻塞方式操作, 而大多数情况下, 程序不仅仅只拥有一个套接字。因此当进程以阻塞方式操作其中之一时,必将导致不能使用其它的套接字。如果用户希望这些套接字同时工作,就必须设计并发的套接字程序,即在一个套接字读写的同时保证另一个套接字也能正常地操作。
并发实现的几种方式:
1. 非阻塞方式
2. 信号驱动方式
3. 超时并发模型
另:超时的实现也有多种方式
4. 多路复用
参考资料:
《精通UNIX下C语言编程与项目实践》 17章
摘要:
1. 可以通过socket选项SO_SNDTIMEO/SO_RCVTIMEO 来设置套接字的读写超时,但是没有可以设置连接超时、accept超时的套接字选项;所以连接超时、accept超时都需要通过其它手段来实现