![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Netty的学习总结
Java技术践行者
让我们一起在开发这条路,默默深耕,用技术改变生活
展开
-
5种网络IO模型
5种网络IO模型根据UNIX 网络编程对I/0模型的分类,UNIX提供了5种I/0模型,分别如下.(1)阻塞I/0模型:最常用的I/0模型就是阻塞I/0模型,缺省情形下,所有文件操作都是阻塞的。我们以套接字接口为例来讲解此模型:在进程空间中调用 recvfrom,其系统调用直到数据包到达且被复制到应用进程的缓冲区中或者发生错误时才返回,在此期间一且会等待,进程在从调用 recv...原创 2019-07-20 10:06:25 · 88 阅读 · 0 评论 -
粘包/拆包 问题说明
假设客户端分别发送了两个数据包给服务端,由于服务端一次读取到的字节数不确定,会存在 4种情况:1:服务端分两次读取到了两个独立的数据包,不发生 粘包 拆包2:服务端一次接收到了两个数据包, 两个粘合在一起,被称为 粘包3:服务端分别两次读取到了两个数据包,第一次读取到了 完整的 D1包和 D2包的部分内容,第二次读取到了 D2的剩余内容,这被称为 TCP拆包。4:服务端分别两次读取...原创 2019-07-20 10:09:00 · 303 阅读 · 0 评论 -
Netty 的线程模型
Reactor 单线程模型:是指所有的IO操作都在同一个NIO线程上面完成,NIO线程负责:作为NIO服务端,接收客户端的TCP连接作为NIO客户端,向服务端发起TCP请求读取通信对端的请求或者应答消息向通信对端发送请求或应答消息由于Reactor模式使用的是异步非阻基I/O,所有的I/O 操作都不会导致阻塞,理论上一个线程可以独立处理所有I/O相关的操作。从架构层面看,一个N...原创 2019-07-20 10:10:03 · 78 阅读 · 0 评论