网络编程
暂无
AnEra
厚积薄发, 天道酬勤
展开
-
基于Netty实现RPC框架
目录项目结构序列化类信息序列化接口序列化实现类序列化工厂类通用类信息服务接口类Class工具类RPC请求解码类RPC请求编码类自定义异常类RPC请求类RPC Response类服务端类信息服务实现类RPC服务维护类服务端类服务端处理器类服务端测试类客户端类信息JDK动态代理Handler类代理工厂类客户端类...原创 2020-02-14 20:36:45 · 273 阅读 · 0 评论 -
NettyHttp协议解析实现
Http协议交互过程协议交互本质是指协议两端(客户端、服务端)如何传输数据?如何交换数据?传输数据一般基于TCP/IP 实现,体现到开发语言上就是我们所熟悉的Socket 编程。交换数据本质是指,两端(客户端、服务端)能各自识别对方所发送的数据。那么这就需要制定一套报文编码格式,双方以该格式编码数据发送给对方。Http 对应的Request 与Response报文格式如下图:R...原创 2020-02-13 12:46:11 · 1809 阅读 · 0 评论 -
Netty粘包/半包问题解析
目录一、什么是粘包/半包问题二、TCP粘包/半包发生的原因三、粘包/半包解决办法四、Netty中粘包/半包解决示例1. 采用固定长度数据包编解码方式2. 采用特殊字符作为边界字符编解码方式3. 基于长度解码器一、什么是粘包/半包问题在客户端发送数据时,实际是把数据写入到了TCP发送缓存里面的; 如图:1. 如果发送的包的大小比TCP发送缓存的容量大,那么...原创 2020-02-10 16:24:09 · 1407 阅读 · 0 评论 -
Netty
目录1. Netty主要组件1.1 Channel1.2 EventLoop1.3 ChannelHandler1.3.1ChannelInboundHandler1.3.2ChannelOutboundHandler1.4 ChannelPipeline1.5 ByteBuf(1) 优势(2) 内存原理(3) 主要操作(4) ByteBuf的...原创 2020-02-08 17:24:57 · 344 阅读 · 0 评论 -
Java_NIO详解
目录1. Buffer1.1 定义HeapByteBufferDirectByteBuffer1.2 Buffer的创建1.3 Buffer的读取1.4 Buffer复制 – 浅复制2. Channel3. Selector4. 测试示例(单线程模式)IO与NIO的区别:NIO的三大核心:Buffer Channel Selector...原创 2020-02-03 20:46:42 · 492 阅读 · 0 评论 -
Java_IO模型
目录概念一、同步阻塞IO二、同步非阻塞IO三、IO多路复用四、异步IO五、信号驱动式IO各种I/O模型的比较概念I/O:就是计算机内存与外部设备之间拷贝数据的过程。我们知道 CPU 访问内存的速度远远高于外部设备,因此 CPU 是先把外部设备的数据读到内存里,然后再进行处理。请考虑一下这个场景,当你的程序通过 CPU 向外部设备发出一个读指令时,数据从外部...原创 2019-12-04 16:02:50 · 250 阅读 · 0 评论