- 授权协议: Apache
- 开发语言: Java
- 操作系统: 跨平台
- 软件首页: https://git.oschina.net/darks/darks-codec
- 软件文档: https://git.oschina.net/darks/darks-codec
软件介绍
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序列化数据过于冗余庞大的问题。
JavaScript设计模式
Ross Harmes、Dustin Diaz / 谢廷晟 / 人民邮电出版社 / 2008 / 45.00元
本书共有两部分。第一部分给出了实现具体设计模式所需要的面向对象特性的基础知识,主要包括接口、封装和信息隐藏、继承、单体模式等内容。第二部分则专注于各种具体的设计模式及其在JavaScript语言中的应用,主要介绍了工厂模式、桥接模式、组合模式、门面模式等几种常见的模式。为了让每一章中的示例都尽可能地贴近实际应用,书中同时列举了一些JavaScript 程序员最常见的任务,然后运用设计模式使其解决方......一起来看看 《JavaScript设计模式》 这本书的介绍吧!
