
Java EE
冰思雨
这个作者很懒,什么都没留下…
展开
-
SpringBoot + Netty 实现 Json字符串 的传输(六)
业务核心部分都进行完毕了,就剩下 Netty 组件关系的配置 以及 NettyServer 的定义了。package houlei.net.tcp.cfg;import houlei.net.tcp.codec.GenericPackageClassifierCodec;import houlei.net.tcp.codec.GenericPackageCodec;import houlei.net.tcp.hdr.NettyServerHandler;import io.netty.boo原创 2020-06-02 14:12:07 · 726 阅读 · 0 评论 -
SpringBoot + Netty 实现 Json字符串 的传输(五)
编解码和数据包都解决了,下面来关注一下,业务处理方面的功能怎样进行设计。1. 构建 NettyServerHandler 类,完成业务逻辑的处理功能。 A. 我们需要一个自定义的线程池,用来执行业务逻辑的处理代码; B. 我们需要封装一下业务处理环节,服务端的业务处理模式比较简单,基本上采用一个请求对应一个应答的操作,所以,可以提取出统一的调用接口 ServerAction 进行业务处理,之后针对不同的请求设计对应的实现类即可。业务处理环节除了 ServerAction 以外,还需要...原创 2020-06-02 14:07:03 · 1114 阅读 · 2 评论 -
SpringBoot + Netty 实现 Json字符串 的传输(四)
数据包的class类应该怎样定义? 通过包结构的分析,以及编解码过程的了解,编解码阶段被拆分成了两个阶段: 一个阶段是 JavaBean 与 Json串 的相互转换; 另一个阶段是GenericPackage 与 二进制信息流 的相互转换; 本文所介绍的主要内容是上述的 JavaBean 应该怎样定义,才能更方便的进行使用,同时,也能方便的完成另一个阶段的编解码工作。1. 定义三个枚举类,分别表示数据包的 版本、频道号、命令字。2. 定义一个...原创 2020-06-02 13:40:18 · 1577 阅读 · 4 评论 -
SpringBoot + Netty 实现 Json字符串 的传输(三)
网络通信从编解码开始,前面的第一篇文章中,介绍过数据包的结构,这篇文章就要介绍一下拆包和组包的过程。1. 包头字段的设计目的 A. 起始分隔符:标明一个数据包的开始部分(里面还隐含了小端模式的信息,这个小端模式可以忽略); B. 协议的版本:当前版本是明文传输的,考虑到后期升级可能要采用密文传输包体,所以,设计了一个版本字段; C. 频道号:这个字段的作用不明显,目前是想将包信息按照业务分类,比如:网络连接,权限认证,聊天信息等; D. 命令字:与频道号联合起来作...原创 2020-06-02 13:05:39 · 1154 阅读 · 0 评论 -
SpringBoot + Netty 实现 Json字符串 的传输(二)
服务端怎么进行开发?原创 2020-06-02 11:29:08 · 1051 阅读 · 0 评论 -
SpringBoot + Netty 实现 Json字符串 的传输(一)
怎样把一个Json字符串传输到网络的另一端?1. 确定传输协议: 我们在进行网络编程的时候,首先要确定的就是传输协议,常见的传输协议就是UDP和TCP。 我采用的是TCP,因为,TCP可以保证传输数据的可靠性。2. 应用层协议。 为啥应用层还要定义一次协议呢? 因为,应用层都是面向对象的编程,而传输层面向的是二进制的数据流,所以,我们要定义协议完成数据对象与二进制数据流直接的转换。 当然,通常来说,传输Json串,有两种方案可以实现: A....原创 2020-06-01 16:53:34 · 2459 阅读 · 0 评论 -
关于Quartz那点事(一)
针对初学者,简单介绍Quartz的五大组件。原创 2015-03-15 21:25:33 · 969 阅读 · 0 评论