![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Netty
Netty学习总结
Lyzxii
积累,进步;
展开
-
基于Netty实现dubbo RPC调用
Dubbo底层使用Netty作为网络通讯框架,根据Netty手写简单的RPC框架具体步骤:定义一个接口和抽象方法,用于消费者和服务提供者之间的约定定义一个服务提供者,该类需要监听消费者的请求,并按照约定返回数据定义一个服务消费者,该类需要透明的调用自己不存在的方法,内部使用Netty请求提供者返回数据定义接口协议和抽象方法,如下的HelloService接口//提供给服务消息者和服务提供者使用public interface HelloService { publi.原创 2020-09-10 11:51:27 · 565 阅读 · 0 评论 -
Netty的多协议开发和粘包拆包
Bootstrap和ServerBootstrapBootstrap是引导的意思,一个Netty应用通常由一个Bootstrap开始,主要作用是配置整个Netty程序,串联各个组件,Netty中的Bootstrap是客户端程序的启动引导类,ServerBootstrap是服务端启动引导类常见API//应用于客户端,设置一个EventLoopGrouppublic B group(EventLoopGroup group)//应用于服务端,设置两个EventLoopGrouppublic原创 2020-08-18 11:48:57 · 1262 阅读 · 2 评论 -
Netty入门和原理架构解析
TCP中的粘包和拆包简述TCP的粘包和拆包TCP编程中无论是服务端还是客户端,读取和发送消息时都要考虑TCP底层的粘包和拆包机制,TCP是一个‘流’协议,数据是没有界限的,TCP底层不知道上层业务数据的含义,它会根据TCP缓冲区的实际情况进行包的划分,所以相对于业务来说,一个完整的包可能会被TCP拆分多个包进行发送 ,也有可能把许多小的包封装成一个大的数据包发送,这就是TCP的粘包和拆包的问题粘包、拆包问题说明现在假设客户端向服务端连续发送了两个数据包,用packet1和packet2来表示,原创 2020-06-02 11:16:13 · 422 阅读 · 0 评论 -
Java的BIO和NIO模型
Linux 网络I/O模型简介Linux的内核将所有外部设备都看做一个文件来操作,对一个文件的读写操作会调用内核提供的系统命令,返回一个file descriptor (fd, 文件描述符)。 而对一个socket的读写也会有相应的描述符,称为socketfd (socket 描述符),描述符就是一个数字,它指向内核中的一个结构体(文件路径,数据区等一些属性)。根据UNIX网络编程对I/O模型的分类,UNIX提供了5种I/O模型原创 2020-04-07 21:36:04 · 466 阅读 · 1 评论