`
simple1024
  • 浏览: 73463 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Mina自定义协议

    博客分类:
  • Mina
阅读更多

请求协议格式

req{

short tag;// 16位,0x0001

int length;//  32位,从下一字节开始至末尾的数据长度即数据区长度(后面会提到数据区)

short channelId;// 16位,频道id

byte  channelDes;// 8位,频道信息说明(类似说明信息的长度)

for(i=0;i<challelDes;i++){

byte_data;// 8位

}

}

 

【说明】

tag:请求的唯一标识符,2字节

length:数据区长度,4字节

channelId:2字节

channelDes:频道说明信息的长度,1字节

for循环:存放频道说明信息的真实数据

 

前面2个绿色的部分称为报头,固定6字节

中间2个蓝色的部分称为基本数据区

最后红色部分称为真实数据区,所有String信息都放在这里

 

数据区=基本数据区+真实数据区

协议=报头+数据区

 

即:

协议:tag length 基本数据区 真实数据区

报头 数据区

 

对于基本数据类型,直接存放在基本数据区,对于String类型,在基本数据区描述它的长度和真实数据区的地址,然后存到真实数据区

 

解码必须获得的信息:

1、请求标识:根据不同的类型进行解析

2、数据区总长度:可判断是否接收数据成功

3、偏移地址:知道真实数据区的位置(偏移地址即tag+length+基本数据区的长度,接下一个字节肯定会走到真实数据区,目的就是定位真实数据区的开始下标)

 

 

 

响应协议格式

res{

short tag;// 16位,0x0002

int length;//从下一字节开始至末尾的数据长度

int channelAddress;

byte channelLen;

int count;

for(i=0;i<count;i++){

byte index;// 下标

int num;// 编号

int size;// 大小

int startTime;// 开始时间

int totalTime;// 总时间

byte status;// 状态

}

}

 

协议的格式根据需求可以很灵活的进行变动。以上只是举例。

for循环中可以存放一组对象数据。

 

本文作用主要用于学习mina方面的知识,为了加深理解和记忆特记。

 

本来是有图片的,很清晰直观,但上传图片需要图片链接,本地图片无法上传,希望各位高手可以给个解决办法。

 

图片以附件形式上传了。

 

本文内容整理自Mina2.0完全剖析,顺带上传PDF供大家学习。

  • 大小: 35 KB
  • 大小: 12 KB
  • 大小: 14 KB
  • 大小: 95.9 KB
分享到:
评论

相关推荐

    Mina自定义协议通信的示例

    Mina自定义协议通信的示例

    Mina自定义协议简单实现

    公司需求,做的简单的Demo,可以拓展,Mina自定义协议简单实现,象征性得收取2积分

    mina仿qq聊天功能,自定义协议,协议的编码和解码详解,发送xml对象json,mina开发大全,详细api,mina心跳

    mina仿qq聊天功能,自定义协议,协议的编码和解码详解,发送xml对象json,mina开发大全,详细api ...mina开发的在线聊天工具,mina仿qq功能,mina自定义协议,可以仿http请求,mina心跳等技术大全,mina功能大揭密

    mina 协议 解包 粘包

    mina 协议 解包 粘包

    给予mina 协议进行大数据传输

    mina自定义编解码 不错的资源 ----其实不怎么样,技术就是拿出来共享的,开源。大家一起前进

    Java视频教程 Java游戏服务器端开发 Netty NIO AIO Mina视频教程

    jaca视频教程 jaca游戏服务器端开发 Netty NIO AIO Mina视频教程 课程目录: 一、Netty快速入门教程 01、第一课NIO 02、第二课netty服务端 03、第三课netty客户端 ...16、Mina学习之自定义协议-客户端实例.flv

    apache mina 框架实例

    apache mina 框架 实例 自定义协议包 自定义编码器 解码器 服务端 客户端

    Mina网络通信传输

    实现了Mina框架简单的换行符编解码的服务器客户端通信,简单自定义协议(报头式)的即时通讯

    Apache mina2学习笔记DEMO

    这个是我学的apache mina2.0学习笔记的实例

    Apache_Mina2.0学习笔记

    最近使用Mina开发一个Java的NIO服务端程序,因此也特意学习了Apache的这个Mina框架。 引言 1 一. Mina入门 2 第一步....Demo3:自定义协议编解码 31 3.IoHandler接口 50 三. Mina实例 50 四. 其他 50

    im即使通讯

    通俗的讲就是,xml形式消息的编码与解码,我们完全没有必要在国外这套不成熟的openfire 与xmpp 上耗费过多的精力去研究,我们完全可以通过apache mina 自定义自己的通讯协议,并可以为它使用自己的名字。我们不要...

    Mina2.0完全剖析,完全自学手册【完整版】.doc

    mina学习资料 引言 1 一. Mina入门 2 第一步.下载使用的Jar包 2 第二步....第三步....第四步....第五步....二. Mina基础 9 ...Demo3:自定义协议编解码 31 3.IoHandler接口 50 三. Mina实例 50 四. 其他 50

    apache mina

    Mina 2.0.16 简介 代码实例 Mina 是Apache开发的一个开源的网络通信框架,基于java NIO实现。 建立server与client之间的会话连接,对会话消息进行过滤; 非阻塞消息会话机制;...通过自定义的通信协议进行编解码消息。

    MINA/JAVA游戏服务端源码

    说明:该服务器框架试用于需要频繁修改数据库内容的游戏,没有使用数据库缓存,jdbc直接修改数据库内容。 申明: ... ...自定义通信协议 net.mina.service:网络层(MINA框架,这个不多说,你懂的)

    mina框架jar包

    MINA框架的特点有:基于java NIO类库开发;采用非阻塞方式的异步传输;事件驱动;支持批量数据传输;支持TCP、UDP协议;控制反转的设计模式(支持Spring);采用优雅的松耦合架构;可灵活的加载过滤器机制;单元测试...

    Routor.rar

    routor使用mina,其中包含有自定义协议的编解码器,消息格式确定

    RoutorAPI.rar

    连接mina的API,其中包含有自定义协议的编解码器,消息格式确定

    ControlAPI.rar

    其中有连接mina的API,其中包含有自定义协议的编解码器,消息格式确定

    物联网上位机平台

    服务端基于Apache MINA设计开发,可自由切换TCP、UDP...支持工业控制中的MODBUS、RS485、RS232、自定义TCP协议等。 采用优雅的松耦合架构设计; 支持多编解码功能,各协议组件相互独立; 支持协议解析组件热插拔。

Global site tag (gtag.js) - Google Analytics