网络通信概念

1. BIO,同步阻塞IO,阻塞整个步骤,如果连接少,他的延迟是最低的,因为一个线程只处理一个连接,适用于少连接且延迟低的场景,比如说数据库连接。

2. NIO,同步非阻塞IO,阻塞业务处理但不阻塞数据接收,适用于高并发且处理简单的场景,比如聊天软件。

3. 多路复用IO,他的两个步骤处理是分开的,也就是说,一个连接可能他的数据接收是线程a完成的,数据处理是线程b完成的,他比BIO能处理更多请求。

4. 信号驱动IO,这种IO模型主要用在嵌入式开发,不参与讨论。

5. 异步IO,他的数据请求和数据处理都是异步的,数据请求一次返回一次,适用于长连接的业务场景

 

同步 异步 阻塞 非阻塞

 

Netty封装了JDK的NIO

Netty提供了拆包、装包的操作

I/O多路复用

通道 channel

选择器  selector

tcp以流的形式进行传输,会发生沾包和分包的现象      套接字缓冲区的大小和发送包的大小

 

posted @ 2021-04-26 15:57  wangssd  阅读(138)  评论(0编辑  收藏  举报