网络 一些概念了解

1. Reactor和Proactor模式的主要区别

Reactor和Proactor模式的主要区别是真正的读取和写入操作,是由谁来完成的。

Reactor:应用程序自己读取或者写入数据。(应用程序完成)

Proactor:应用程序不需要进行实际的读写过程,只需要从缓存区读取或者写入即可。内核会读取缓存区或者写入缓存区到真正的IO设备。(内核完成)

2. 同步和异步,阻塞和非阻塞

同步和异步是针对内核来说的

阻塞和非阻塞是针对应用程序来说的

2.1 所谓阻塞 I/O,是指应用程序在执行 I/O 操作后,如果没有获得响应,就会阻塞当前线程,不能执行其他任务。

2.2 所谓非阻塞 I/O,是指应用程序在执行 I/O 操作后,不会阻塞当前的线程,可以继续执行其他的任务。

2.3 所谓同步 I/O,是指收到 I/O 请求后,系统不会立刻响应应用程序;等到处理完成,系统才会通过系统调用的方式,

告诉应用程序 I/O 结果。

2.4 所谓异步 I/O,是指收到 I/O 请求后,系统会先告诉应用程序 I/O 请求已经收到,随后再去异步处理;等处理完成后,系统再通过事件通知的方式,告诉应用程序结果。

3. TCP socket通信

服务器端流程如下: 
(1)创建serverSocket  
(2)初始化 serverAddr(服务器地址) 
(3)将socket和serverAddr 绑定 bind 
(4)开始监听 listen  
(5)进入while循环,不断的accept接入的客户端socket,进行读写操作write和read 
(6)关闭serverSocket 


客户端流程:  
(1) 创建clientSocket 
(2) 初始化 serverAddr 
(3) 链接到服务器 connect  
(4) 利用write和read 进行读写操作 
(5) 关闭clientSocket

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值