IO多路复用的作用

1、阻塞 I/O 只能阻塞一个 I/O 操作,而 I/O 复用模型能够阻塞多个 I/O 操作,所以才叫做多路复用

2、采用epoll模型时创建了一个共享的内存空间,操作系统采用事件通知的方式,使一个进程能同时等待多个文件描述符

3、这样就可以同时监听多个网络连接 IO, 相对于多进程、多线程切换的开销问题,IO 多路复用可以极大的提升系统效率。



为什么客户端先调close(),而服务器不能先调?

1、因为先调close()的一方最终要等2分钟之后才能释放资源,这段期间是不允许用bind的方式重新绑定端口的,就会出现端口被占用的情况

2、而客户端的端口是操作系统随机分配的,被占用之后会再分配一个

3、若服务端先调,则需要设定套接字选项,配置重复利用端口资源才可以

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容