在上一篇博客中我们讲述了几种常见的IO模型,其中最重要的实属多路转接模型。那么这一篇博客我们承接上文,来将select应用在TCP服务器搭建当中。
我们来在简单进行实现,来对单执行流中的大量描述符进行轮询处理。
首先我们来封装一个Select类,其中的每一个实例化对象,都是一个能够针对大量描述符进行IO事件监控的对象。
其中使用了我们之前讲述TCP连接(套接字编程-2)时候所封装的类,并在此基础上我们做了一定的添加,得到结果如下:
最后我们设计服务端和客户端的具体代码加以使用上述封装内容,先是服务端内容:
然后是客户端内容:
最后编译并执行得到结果如下:
我们可以发现服务端和客户端之间能实现较为良好稳定的通信,证明了我们设计代码的准确性。