夜光带你走进Java架构师必备知识点(18)高级程序员

夜光序言:

 

生活不可能像你想象得那么好,但也不会像你想象地那么糟。我觉得人的脆弱和坚强都超乎自己的想象。

 

 

 

 

 

 

 

 

正文:二十七、Netty

1.什么是Netty?

Netty是高性能事件驱动、异步非阻塞的java开源框架。

Netty基于NIO的客户端,服务端的编程框架,具有稳定性和伸缩性。

 


2.Netty的使用场景

高性能领域

多线程并发领域

异步通信领域

 


3.IO通信

1.BIO通信

一个线程负责连接

一请求一应答

缺乏弹性伸缩能力

2.伪异步IO通信

线程池负责连接

M请求N应答

线程池阻塞

3.NIO通信

缓冲区buffer

通道channel

多路复用器selector

4.AIO通信

连接注册读写事件和回调函数

读写方法异步

主动通知程序

 


4.原生NIO的缺陷

类库和API繁杂

入门门槛高

工作量和难度大

JDK NIO存在BUG

 

 


5.Netty的优势

API简单

入门门槛低

性能高

成熟、稳定

 

 

 


6.什么是webSocket?

H5协议规范、握手机制,解决客户端与服务端实时通信而产生的技术

 

 


7.webSocket的优势

节省通信开销

服务器主动传送数据给客户端

实时通信

 

 


8.webSocket建立连接

1.客户端发起握手请求

2.服务端端响应请求

3.连接建立

 

 


9.webSocket生命周期

 

1.打开事件

2.消息事件

3.错误事件

4.关闭事件

 


10.webSocket连接关闭

服务器关闭底层TCP连接

客户端发起TCP close

 


11.Netty实现webSocket通信

1.Netty开发服务端

2.HTML实现客户端

3.实现服务端与客户端的实时交互

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值