
关于netty的一些总结
文章平均质量分 71
小白免与大能猫
这个作者很懒,什么都没留下…
展开
-
关于bio
cs模型String类关于字节的构造方法客户端socket实现服务器实现服务器端用serversocket的accept方法获取连接的客户端的socket,用客户端socket中的输入输出流方法来读取和发送只从客户端上传数据到服务器端客户端实现服务器端实现(节点流写出时不用判断)注意:此时上面的系统有问题,因为1、服务器调用accept方法后会一直等待客户端传输,相当...原创 2021-08-30 14:37:36 · 125 阅读 · 0 评论 -
nio相关
写入和读出的问题任何情况下,对一个区域来说都是写入,读出。IO流的read是流的方法,对流来说是读出,而不是对内存来说是读入。同理,bytebuffer也是,调用的channel的read方法对channel来说是读出,而不是针对bytebuffer是读入,对bytebuffer来说是写入。注意:BIO,NIO,AIO都是网络编程,不是文件编程NIO可以工作在阻塞和非阻塞模式下NIO三大组件(Channel):channel 有一点类似于 stream,它就是读写数据的...原创 2021-08-30 13:41:21 · 120 阅读 · 0 评论 -
关于aio
AIO 是异步非阻塞同步意味着,在进行读写操作时,线程需要等待结果,还是相当于闲置异步意味着,在进行读写操作时,线程不必等待结果,而是将来由操作系统来通过回调方式由另外的线程来获得结果AIO的read方法有四个参数,bytebuffer,起始位置,附件,回调对象,如果read成功则会由其他线程使用回调对象的回调方法返回结果。默认文件 AIO 使用的线程都是守护线程,所以要让主线程持续运行以避免守护线程意外结束...原创 2021-08-30 13:41:50 · 91 阅读 · 0 评论 -
关于netty框架
目录使用Netty的通信流程eventloop/eventloopgroup(每一个loop相当于NIO中的多线程多路复用中的单个worker)channelFuture和promiseHandler和pipelineBytebufbytebuf的零拷贝和netty的零拷贝粘包和半包现象使用Netty的通信流程服务器端接收数据客户端发送数据整体流程注意12步调用初始化方法只是为了添加各自的handler处理器但并不调用。..原创 2021-08-30 13:45:10 · 238 阅读 · 0 评论 -
RPC框架的组成
RPC自定义私有协议整个协议就会拆分成两部分:协议头和协议体。协议头是由一堆固定的长度参数组成,而协议体是根据请求接口和参数构造的,长度属于可变的,具体协议如下图所示为了保证能平滑地升级改造前后的协议,我们有必要设计一种支持可扩展的协议。其关键在于让协议头支持可扩展,扩展后协议头的长度就不能定长了。那要实现读取不定长的协议头里面的内容,在这之前肯定需要一个固定的地方读取长度,所以我们需要一个固定的写入协议头的长度。整体协议就变成了三部分内容:协议头固定部分、协议头扩展部分、协议体内容,前..原创 2021-08-30 13:50:49 · 832 阅读 · 0 评论