4种情况:

1、输入操作:等待数据到达套接字接收缓冲区;

2、输出操作:等待套接字发送缓冲区有足够的空间容纳将要发送的数据;

3、服务器接收连接请求:等待新的客户端连接请求的到来;

4、客户端发送连接请求:等待服务器回送客户端的发起的SYN所对应的ACK。

5种网络IO模型:

·阻塞IO:等待完成

·非阻塞IO:不定时来询问

·IO复用:复用通道,根据请求来完成

·异步IO:多搞几个请求

·信号驱动IO:通过信号来通知是否可以

IO复用中的select和poll、epoll?

答:就是判断哪个请求是可以相应的。

select和epoll的区别?

答:select仅知道有I/O事件发生,并不知道是哪个流,所以只能无差别轮询。O(n)

  epoll会把哪个流发生了什么样的I/O给搞明白。O(n)

  poll本质上可select差不多,但是基于链表的,所以没啥最大链接数限制。

最新文章

  1. 06OC之内存管理
  2. 一次由于字符集问题引发的MySQL主从同步不一致问题追查
  3. OS X下开发!ios系统贪食蛇!——from cocos2d-x 3.0
  4. 【解决】Oracle数据库实现ID自增长
  5. 配置apache+trac环境
  6. 常用的MySQL图形化管理软件
  7. 通过SSHFS在RHEL中安全的挂载远程Linux/UNIX目录或文件系统--转载
  8. Java学习日记-2.3 基本数据类型和对象所占内存空间大小
  9. C语言里面关于数组的一个容易忽视的小细节
  10. ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist
  11. 手机微博(weibo.cn)模拟登录及页面解析
  12. 多功能设备mfd驱动
  13. [BOI2007]Mokia 摩基亚
  14. shell编程学习笔记(五):Shell中脚本的参数
  15. js使用锚点回到顶部
  16. Web服务器缓存
  17. tomcat设置debug模式
  18. 自定义两个控件,一个是显示图标和文字的矩形,一个是带边框的label(但是不是label)
  19. Java打印整数的二进制表示(代码与解析)
  20. 唯品会的Service Mesh三年进化史 2018 年 Service Mesh 元年,被誉为是下一代微服务架构

热门文章

  1. Flink Table API & SQL 自定义Redis Sink 使用方式
  2. IIS7无法访问.apk文件的解决方法
  3. pycharm、pyqt5、pyuic、anaconda配置界面
  4. MySQL无法同时执行多条语句解决办法 Dbeaver
  5. dockerfile配置远程ssh登录
  6. SpringCloudEureka上篇
  7. h5 json 生成excel
  8. Ginan-PEA例程下载
  9. Java Swing 防止键入手Key 的实现方法
  10. mybatis的自定义类型转化器如何使用