自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 Netty TCP 客户端/服务端 通用模板

我见过很多使用netty的项目, 他们对Nettyx中组件的使用五花八门,各种曲线救国,各种妥协, 各种凌乱, 为此Nettyx提供了基础的TCP通信模板, 分为客户端(client)和服务端(server)的抽象模板, 意欲为netty的使用建立一种范式,暂且不讲好坏,有范式总比没有好, 说不定也没有你们的模板好,手动狗头保命

2024-03-26 22:42:26 308

原创 Netty 跨平台序列化 Java解析C结构体最佳实践 XML配置

其实struct的基础配置元素没有变化, 只是将配置的定义和对象进行了解耦, 基于时间原因, 暂时只完成了反序列化, 并没有实现序列化, 后续的Nettyx更新会加上这部分, 接下来进入正文我们先从一个简单的XML 定义开始吧> < config namespace = " school " >

2024-03-17 21:54:12 218

原创 Netty OpenSsl

网络世界 君子还是少数, 为了防范不法分子窃取我们的消息, 一般都会对消息进行加密.当然这场景相对于Java来说还是少数, 毕竟现在大部分已经上各种云,服务和服务之间通信不需要经过公网但如果你的通信链路可能需要经过外网, 那么极其建议你套一层安全层!!

2024-02-28 17:00:37 697 1

原创 Netty 串口通信

如果你的领导让你用java来进行串口交互, 那他一定有问题, Nettyx对串口的支持完全来自jsc, 支持简单的对jsc进行了扩展, 也提供了CommPorts这种串口工具类那正文开始了, 先引入Nettyx的依赖

2024-02-28 14:52:24 316

原创 Netty 出入站日志

一般而言, 基于Netty的应用都会在核心业务步骤加上日志, 用来观察业务状况, 或者如果线上出现问题, 进行问题的排查,业务可以加, 但是无能毫无目的的加, 也不能什么关键信息都打印, 如果有用户, 则要打印用户id, 订单则打印订单id, 为了简化日志的使用Nettyx对出入站日志进行了简单的封装先导入Nettyx依赖

2024-02-28 14:42:38 302

原创 Netty 心跳

一般而言, 个人极其建议在应用中添加业务心跳, 如果将应用的稳定性寄托在tcpkeepalive, 当出现类似拔网线这种操作时, 应用将无法感知当然这区分服务端和客户端, 两者策略不同, 具体场景具体对待.正文开始, 先引入Nettyx的依赖

2024-02-27 16:39:56 167

原创 Netty 断线重连 保连机制

保连是Netty客户端必须实现的一个重要功能, 因为netty并没有提供直接的实现, 所以Nettyx提供了InboundAdvice, ActionableChannelFutureListener来进行保连我知道你很急,但是你先别急. 先导入依赖

2024-02-27 15:27:29 244

原创 Netty ChannelAdvice 出入站建言

用过Netty的小伙伴都知道, 当我们使用了Netty, 就意味着我们使用了Netty……就意味着我们不仅需要处理业务数据, 还需要围绕添加相当一部分的逻辑, 比如断线重连, 心跳, ack, 重试,读闲置, 写闲置, 高低水位线等等进行设置, 此部分的逻辑一般不建议和业务处理器耦合在一起,不仅可读性差, 难维护, 还会引发歧义, 为此Nettyx提供了InboundAdvice和OutboundAdvice来解决此类问题。

2024-02-26 16:55:24 342

原创 Netty IO事件扩展

我们知道Spring提供了容器事件,可以通过ApplicationContext.publish进行事件发布, 为了和此技术进行集成, nettyx提供了ChannelEvent系列对象。ChannelEvent包含了 入站(Inbound) 和 出站(Outbound) 的事件扩展。现阶段绝大部分Java应用几乎都集成Spring, 它们就像是豆浆和油条.

2024-02-26 16:07:43 320

原创 Netty 消息转义

展示了nettyx中对消息进行转义的操作

2024-02-26 15:42:59 296

原创 Netty Channel IO 事件拦截器, 自定义握手器最佳实践

如果后续恢复所有拦截器, 则可以调用ChannelInterceptors.resetAll(), 即可恢复所有拦截器, 如果只需要恢复单个拦截器直接从ChannelPipeline中根据名字获取handler, 强转之后调用reset即可。接触过物联网的小伙伴都知道, 很多私有协议在正式通信前都需要进行握手这一操作, 如果握手失败将无法进行后续的业务通信。例如在通信前可能需要确认设备型号, 协议版本, 元信息版本, 设备状态地域等等, 这些都是必须在业务通信前要确定。后续框架升级会更新此文档。

2023-12-13 15:04:11 243

原创 Netty 跨平台序列化 Java解析C结构体最佳实践

nettyx是基于netty 4.1.101.Final版本二次封装的框架,扩展了一些工具, 其中最重要的功能便是Java跨平台序列化, 接下来将展示如何接收并解析成C的结构体.想要定义struct, 必须先从基础类型开始:那就先定义C中的char和long这两个类型// Basic为nettyx中提供用于定义C基础类型的抽象模板类, 所有基础类型必须实现此类 import org . fz . nettyx . serializer . typed . Basic;/**

2023-12-13 12:15:52 351

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除