消息协议框架 Darks Codec

码农软件 · 软件分类 · 网络工具包 · 2019-02-27 12:57:08

软件介绍

Darks Codec是一个轻量级的通信消息协议编解码框架。它支持将JAVA对象与绝大部分基于字节的消息协议之间进行互相转换,以此协助开发人员便捷有效的快速构建消息协议,并为TCP粘包断包等问题提供了有效的解决方案。它能让开发人员从消息协议的实现中解脱出来,让其更多的关注于消息通信协议的设计及优化,以便让软件消息通信的整体设计更加完善。

一、配置方便快捷

只需要几行参数设置便能实现基础的消息协议。例如一个基于LITTLE-ENDIAN的协议:

FB FA  [ID 32bits] [VERSION 8bits] [COMMAND]  FF

只需简单构建JAVA对象

public class SimpleMsg
  {
      int id;
      byte version;
      String command;
  }

并在编码时配置

ObjectCoder coder = new ObjectCoder();
coder.getCodecConfig().setEndianType(EndianType.LITTLE);
coder.getCodecConfig().addWrap(new IdentifyWrapper(new OCInt16(0xFAFB), new OCInt8(0xFF)));
SimpleMsg msg = new SimpleMsg();
  msg.id = 32;
  msg.version = 1;  
  msg.command = "running";
  byte[] bytes = coder.encode(msg);

此编码会输出

FB FA   20 00 00 00   01   72 75 6E 6E 69 6E 67   FF

以上简单例子列举了增加前置及后置标识位的代码。详细文档请参见官网。

二、支持多种编码策略

Darks Codec可以对消息数据进行一种或同时多种封装处理。

  • 支持对消息数据进行前置或后置标识的封装处理。

  • 支持对消息数据进行校验码添加。例如CRC16、ADLER32、CRC32、自定义校验等。

  • 支持针对较大的消息数据进行压缩处理。例如GZIP、JZLIB、BZIP、自定义压缩等。

  • 支持针对机密消息数据进行加密处理。例如AES、RSA、BASE64、自定义加密等。

  • 支持对消息数据总长度添加封装。

  • 在后续的开发中,会支持新的序列化方式以替代JAVA序列化数据过于冗余庞大的问题。

本文地址:https://www.codercto.com/soft/d/244.html

算法(第4版)

算法(第4版)

塞奇威克 (Robert Sedgewick)、韦恩 (Kevin Wayne) / 谢路云 / 人民邮电出版社 / 2012-10-1 / 99.00元

本书全面讲述算法和数据结构的必备知识,具有以下几大特色。  算法领域的经典参考书 Sedgewick畅销著作的最新版,反映了经过几十年演化而成的算法核心知识体系  内容全面 全面论述排序、搜索、图处理和字符串处理的算法和数据结构,涵盖每位程序员应知应会的50种算法  全新修订的代码 全新的Java实现代码,采用模块化的编程风格,所有代码均可供读者使......一起来看看 《算法(第4版)》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具