24 lines
1.0 KiB
Markdown
24 lines
1.0 KiB
Markdown
# boot-starter-netty项目说明
|
|
## 几种io的对比
|
|
io类型 | 通讯模型 | 描述
|
|
---|------------|----
|
|
bio | 阻塞同步通讯 | 使用一个线程处理一个请求
|
|
伪nio |阻塞同步通讯 | 使用线程池,使用n个线程处理m个请求
|
|
nio | 非阻塞同步通讯 | 使用一个线程处理多个请求,难度大,不方便调试
|
|
aio | 非阻塞异步通讯 | 难度大,不方便调试
|
|
## jdk自带的nio和netty的对比
|
|
- jdk自带的nio的api繁杂、工作量和工作难度大、入门门槛高需要精通多线程、jdk的nio存在bug会出现selector空轮训导致cpu跑满
|
|
- netty商用成功。可扩展性强、入门门槛低、成熟稳定、性能强
|
|
## websocket简单介绍
|
|
### websocket建立连接
|
|
客户端发起握手请求,服务端响应请求,建立连接。
|
|
### websocket的生命周期
|
|
#### 打开事件
|
|
#### 消息事件
|
|
#### 错误事件
|
|
- 能感知websocket所有方法的错误
|
|
#### 关闭事件
|
|
- 服务端端关闭底层tcp连接
|
|
- 客户端发起TCP close
|
|
## 基于netty实现websocket协议
|