当前位置:  软件>java软件

消息协议框架 Darks Codec

    来源:    发布时间:2014-12-21

    本文导语:  Darks Codec是一个轻量级的通信消息协议编解码框架。它支持将JAVA对象与绝大部分基于字节的消息协议之间进行互相转换,以此协助开发人员便捷有效的快速构建消息协议,并为TCP粘包断包等问题提供了有效的解决方案。它能让...

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序列化数据过于冗余庞大的问题。


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • JavaScript中的消息框(警告框,确认框,提示框)语法
  • 消息队列中消息大小
  • unix/linux知识 iis7站长之家
  • 各位专家,如何知道消息队列中消息是否已经超时了?
  • 用java,怎样实现从一个类的发一个消息(消息本身也是一个类)到另一个类?
  • **********写了一个简单的UDP程序,接受英文的消息正常,接受中文的消息显示不完整,请问是什么原因
  • sco unix中消息队列中的一次可发送的最长消息的字节长度是多少?
  • 消息队列消息总大小的问题
  • 重分求解,UNIX下的消息队列非常失败,经常发生堵塞现象,现改用FIFO,但FIFO又得自己设计消息,请高手指点
  • 消息队列收不到消息
  • 怎样在程序中修改一个系统V消息队列中消息的个数::
  • 关于消息队列的问题
  • 创建消息队列,接受消息失败,接受程序再发送错误消息给发送程序//程序能运行,不出结果
  • 一个消息队列例子,第一次运行正确,第二次运行就提示消息发送失败了
  • unix下一个关于消息队列的问题
  • MQTT 消息代理 Mosquitto
  • 怎么查询消息队列中每条消息的状态
  • 关于消息队列
  • linux 消息队列长度的问题
  • Linux下使用C++互斥访问文件+消息队列
  • liunx 消息队列的问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3