Netty网络编程
主要参考《Netty权威指南》书籍,以及结合自己的理解应用进行记录
方友运
技术是需要交流的,学习总是需要持之以恒的
展开
-
Netty网络编程九:Netty服务端源码监控
一:概述Netty为了向使用者屏蔽NIO通信的底层细节,在和用户交互的边界做了封装,目的就是为了减少开发者的开发工作量,降低开发难度。用户可以通过ServerBootstrap启动辅助类,方便的创建服务端。可以通过时序图了解下netty服务端运行流程:直接看源码走,查看运行流程:1、服务端创建以ServerBootstrap开始,往group方法里添加两个参数,跟踪源码发现NioEve...原创 2019-04-01 08:48:50 · 769 阅读 · 0 评论 -
Netty网络编程八:Netty之WebSocket协议栈开发详解
目录原创 2019-03-29 10:18:34 · 888 阅读 · 0 评论 -
Netty网络编程七:Netty之Http协议栈开发详解
目录原创 2019-03-28 09:41:55 · 264 阅读 · 0 评论 -
Netty网络编程六:Netty序列化编解码以及Protobuf序列化工具的使用
一:概述在进行网络传输时,我们传输到网络上的数据,并不一定是字符串,而可能是一个对象,这时候我们就需要,将对象以有效的方式转为字节数组传输到网络中,然后收到数据的一方可以解析出有效的数据。例如在java中,我们需要传输对象,可以直接通过将ObjectOutputStream或ObjectInputStream直接作为可存储的字节数组传输到网络中。通过java这种序列化对象的方式,存在一些问题:...原创 2019-03-25 19:03:01 · 2432 阅读 · 0 评论 -
Netty网络编程五:Netty粘包拆包解码器源码分析与自定义解码器
Netty网络编程五:Netty粘包拆包解码器源码分析之自定义解码器一:概述由上一篇文章讲完了ByteToMessageDecoder,再来看其实现LineBasedFrameDecoder ,DelimiterBasedFrameDecoder,FixedLengthFrameDecoder发现只要实现decode()方法即可,并按照指定的分割条件进行字节流数据分割,然后将处理好的数据加入到...原创 2019-03-17 18:47:55 · 218 阅读 · 0 评论 -
Netty网络编程四:Netty粘包拆包解码器之ByteToMessageDecoder
一:ByteToMessageDecoder的作用ByteToMessageDecoder在Netty中主要是用来解决半包积累的问题,是一种解码器,LineBasedFrameDecoder ,DelimiterBasedFrameDecoder,FixedLengthFrameDecoder都是其的一种具体的实现。因为要想netty解决半包拆包问题,需要从认识ByteToMessageDeco...原创 2019-03-12 19:05:19 · 3821 阅读 · 0 评论 -
Netty网络编程三:Netty解决粘包和拆包
目录1.tcp粘包/拆包原因2.粘包解决策略3.具体实现思路4.netty提供的粘包解决方法一:tcp粘包/拆包原因我们都知道Netty是基于NIO的,nio进行客户端与服务端socket编程,在发送消息时,底层是基于TCP传输协议的,首先,TCP协议是基于字节流的,把发送或接受的数据看成一段无结构的字节流,没有边界。其次,在TCP的首部也没有表示数据长度的字段。因此当使用tcp传输...原创 2019-03-11 17:08:22 · 620 阅读 · 0 评论 -
Netty网络编程二:Netty概述以及入门案例
目录1、概述2、入门案例一:概述虽然原生的java给我们提供了非常强大NIO的功能,但是由于使用上的,众多网络编程上的问题,任然需要开发者自己开发维护,因为选择Netty这种基于原生NIO进行开发的框架来助于我们的开发。二:入门案例学任何框架都是从入门案例,netty也不例外,先搭建一个简单的服务端,客户端来理解Netty的便捷性。需求:客户端连接服务端后,给服务端发送一条消息,服...原创 2019-03-08 13:56:54 · 283 阅读 · 0 评论 -
Netty网络编程一:NIO
目录1 传统BIO socket通信2 NIO 编程一:传统socket通信在NIO编程没出来之前,java使用的socket编程时socket 服务端:public class OldSocketServer { private void start(int port) throws IOException { ServerSocket serverSo...原创 2019-03-05 16:16:52 · 257 阅读 · 0 评论 -
基于Netty写一个http协议的服务
第一步:引入netty的jar包,本文是使用的是netty-all-4.1.9.Final.jar第二步:创建netty服务import javax.annotation.PostConstruct;import javax.annotation.PreDestroy;import org.slf4j.Logger;import org.springframework.beans.fact...原创 2018-02-08 10:31:22 · 456 阅读 · 0 评论