![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Netty
诡迹
冲tm的
展开
-
2021-03-05
天气:阴雨 用Netty实现DubboRPC 这是参考尚硅谷课程的学习 先写总结后贴代码 1.通过代理模式实现设定通信协议下的方法异地调用 2.通过实现callable接口去保证执行的流程,call方法被代理对象调用,并且等待唤醒 遇到的一些问题 1.查自己电脑的ip地址,可以再cmd中输入“ipconfig”指令获取ip配置 2.中间NettyClientHandler的call()方法和channelRead()因为忘了synchronized加锁,运行客户端后报错无法走到最后一步,然后中间加了很多s原创 2021-03-05 03:48:53 · 77 阅读 · 3 评论 -
2021-03-04
天气:阴-小雨 今天学习内容: 一、剖析netty源码,看看netty是如何设计ChannelPipeline/ChannelHandler和ChannelHandlerContext的 1.每当ServerSocket创建新的链接就会创造一个Socket 2.每个新建的Socket就会分配一个全新的ChannelPipeline,并创建tail节点和head节点 3.每个ChannelPipeline内部都含有多个ChannelHandlerContext 4.他们一起主城了双向链表,这些context用原创 2021-03-05 03:19:01 · 68 阅读 · 1 评论 -
2021-03-03
天气:晴 今天学习内容 一、log4j整合到netty 1.引入依赖(maven) 2.配置log4j的配置文件 二、TCP拆粘包 网络信息的传输是无消息保护边界的,发送多个信息的时候,接收方无法保证接受的信息如何分解为一个个完整的个体,有时候会吧两个信息接到一起,这就是粘包,把一个信息分段接受这就是拆包 三、自定义协议解决拆粘包问题 使用自定义协议+编解码器来解决,关键就是要解决服务器端每次读取数据长度的问题,避免服务器多读少读数据。 1.编写基本的客户端服务端类 2.编写一个协议包类MessagePr原创 2021-03-04 03:56:35 · 101 阅读 · 1 评论 -
2021-03-02
天气:晴 今天学习内容: 一、Netty的handler链调用机制 1.netty的逐渐主要有Channel、EventLoop、ChannelFuture、ChanneHandler、ChannelPipe等 2.ChannelHandler充当了处理入站出站数据应用程序逻辑的容器 编写server: public class MyServer{ public static void main(String[] args) throws Exception{ //创建两个组 EventLoopGr原创 2021-03-02 16:12:30 · 71 阅读 · 0 评论 -
2021-03-01
天气:阴2021.3.1 今天学习内容: Netty的Protobuf基本介绍和使用 1.通过maven引入protobuf的jar包 2.编写一个proto文件,第一次使用idea会提示是否下载插件 syntax = "proto3"; option java_outer_classname = "StudentPOJO";//生成的外部类名,也就是文件名 message Student {//会在StudentPOJO 外部类生成一个内部类Student,她是真正发送的POJO对象 int32 id原创 2021-03-01 14:41:06 · 91 阅读 · 0 评论