并发socket程序设计

套接字相关函数默认是采用阻塞方式操作, 而大多数情况下, 程序不仅仅只拥有一个套接字。因此当进程以阻塞方式操作其中之一时,必将导致不能使用其它的套接字。如果用户希望这些套接字同时工作,就必须设计并发的套接字程序,即在一个套接字读写的同时保证另一个套接字也能正常地操作。

并发实现的几种方式:

1. 非阻塞方式

2. 信号驱动方式

3. 超时并发模型

另:超时的实现也有多种方式

4. 多路复用

 

参考资料:

《精通UNIX下C语言编程与项目实践》 17章

 

摘要:

1.  可以通过socket选项SO_SNDTIMEO/SO_RCVTIMEO 来设置套接字的读写超时,但是没有可以设置连接超时、accept超时的套接字选项;所以连接超时、accept超时都需要通过其它手段来实现

留下评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据