`
maozilee
  • 浏览: 252742 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

开源框架Mina入门第二篇[自定义协议的关键编解码]

阅读更多


    用MINA开发通信程序,很重要的一点是自定义编码,因为他可以完成不同平台的数据交换,如手机软件终端,linux服务端,其中手机终端可能是android开发,iphone,sybian,所以,经常需要直接二进制处理。

    在服务器端中,最重要的就是编解码!在“编码”和“解码”中的一个重要问题是如何在字节流中判断消息的边界。通常来说,有三种办法解决这个问题:

  • 使用固定长度的消息。这种方式实现起来比较简单,只需要每次读取特定数量的字节即可。
定长协议----如:心跳包[10Bytes]
  • 使用固定长度的消息头来指明消息主体的长度。比如每个消息开始的 4 个字节的值表示了后面紧跟的消息主体的长度。只需要首先读取该长度,再读取指定数量的字节即可。

包头(表示本信息的总长度,一般情况下为[1-4字节]) 包内容[包头所指定的长度]

  • 使用分隔符。消息之间通过特定模式的分隔符来分隔。每次只要遇到该模式的字节,就表示到了一个消息的末尾。
数据+";"+数据+“;”

 

 

 

分享到:
评论
1 楼 sziitjiang 2012-08-21  
您好,看到您的文章,给个评论,挺好的
不过要是都有个例子简单举例说明一下就更好了,让我们学习学习,还是代码更能够说明真理呀

相关推荐

    mina自定义编解码器详解

    **mina自定义编解码器详解** mina是一个Java开发的网络通信框架,广泛应用于TCP和UDP协议的服务器和客户端开发。在mina框架中,编解码器(Codec)扮演着至关重要的角色,它负责将应用层的数据转换为网络传输的字节...

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

    mina仿qq聊天功能,自定义协议,协议的编码和解码详解,发送xml对象json,mina开发大全,详细api mina聊天 mina解码编码 mina协议开发 mina仿qq mina消息xml mina开发的在线聊天工具,mina仿qq功能,mina自定义协议,可以...

    Mina自定义协议通信的示例

    - `MyProtocolDecoder.java`:实现了自定义解码器,从网络接收的数据流中恢复出业务对象。 - `MyProtocolMessage.java`:定义了你的自定义协议消息结构,可能包含了各种字段和方法。 - 测试类:用来验证编码解码过程...

    mina自定义编码解码器

    2. 自定义解码器(Decoder): 对于解码器,你需要继承IoBufferDecoder或者MessageToMessageDecoder接口。解码器的作用是解析接收到的字节流并创建应用程序对象。例如,你可以创建一个`MyMessageDecoder`,重写`...

    Mina自定义协议简单实现

    Apache Mina(Minimum Asynchronous Network)是一个开源的网络通信框架,它为Java开发者提供了一种高效、灵活且可扩展的框架,用于构建高性能的网络应用程序,如服务器和客户端应用。Mina的核心是基于事件驱动和...

    springboot整合mina

    Mina是一个轻量级、高性能的网络应用框架,主要用于构建服务器端的网络应用,如TCP/IP和UDP协议的服务。而SpringBoot是基于Spring框架的微服务开发工具,简化了Spring应用的初始搭建以及开发过程。下面我们将详细...

    mina编解码示例

    mina编解码示例是基于Apache Mina框架的一个实践项目,主要展示了如何在Mina中进行数据的编码和解码操作。Apache Mina是一个高度可扩展的网络通信框架,广泛应用于开发高性能、高并发的网络应用程序,如TCP/IP和UDP...

    MINA 协议解码过滤器

    自定义解码器通常需要实现`ProtocolDecoder`接口,该接口有两个关键方法:`decode()`和`exceptionCaught()`。`decode()`方法负责实际的解码工作,而`exceptionCaught()`方法则处理在解码过程中出现的异常。 创建...

    mina编解码器Demo

    在本文中,我们将深入探讨MINA框架中的编解码器(Codec)概念,并通过提供的`mina_server`和`minaclient`两个文件夹中的示例,来理解其工作原理。 MINA框架的核心在于它的异步I/O模型,它允许开发者以非阻塞的方式...

    apache mina 框架实例

    在Mina中,编码器和解码器是实现自定义协议的关键组件。编码器负责将应用程序的业务对象转化为字节流,以便在网络中传输;解码器则将接收到的字节流还原为业务对象。这两个组件可以是基于固定长度、可变长度或者基于...

    mina框架自定义解编码器

    《MINA框架自定义解编码器的深度解析与实践》 MINA(Java Multithreaded Network Application Framework)是一个开源的、跨平台的Java网络应用框架,它为开发者提供了高度可扩展性和高性能的网络通信能力。MINA的...

    Mina开源框架 心跳机制详解

    Mina开源框架是一款广泛应用于Java环境的网络通信应用框架,其设计目标是提供一个高度可扩展、高性能且稳定的网络通信接口。在Mina框架中,心跳机制扮演着至关重要的角色,它确保了网络连接的健康性和可靠性。心跳...

    Apache Mina入门(完成版)

    Apache Mina是一个开源的网络通信应用框架,主要应用于构建高性能、高效率的服务端应用程序。它提供了高度抽象的网络通信API,使得开发者可以专注于业务逻辑,而无需关心底层的网络细节。Mina支持多种协议,如TCP/IP...

    mina 多路分离解码

    在mina中,我们可以自定义解码器来处理特定的协议或数据格式。例如,如果我们的应用使用了某种特定的二进制协议,我们可以创建一个解码器来解析这种协议的数据包,并将其转换为对应的Java对象。 多路分离解码的工作...

    mina框架的demo 入门,开发

    本教程将深入探讨Mina框架的入门与开发,帮助你快速掌握这个框架的关键概念和技术。 首先,理解Mina的核心概念至关重要。Mina提供了一个事件驱动、异步通信模型,使得开发者可以更高效地处理网络I/O操作。它抽象出...

    Apache mina框架入门教程

    Apache Mina 框架是一个强大的网络通信应用框架,它主要针对基于TCP/IP和UDP/IP的协议栈,同时也支持Java对象序列化和其他通信方式。Mina 的核心设计目标是帮助开发者快速构建高性能、高可扩展性的网络应用。它采用...

    niosocket及其开源框架MINA学习总结收集.pdf

    MINA (Java Multithreaded Network Application Framework) 是一个基于NIO的开源框架,它为开发高性能、高可用性的网络应用提供了抽象层。MINA 提供了事件驱动的模型,简化了网络编程的复杂性,开发者可以通过编写...

    Apache_Mina2.0学习笔记

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

    MINA框架应用入门范例

    MINA(Multipurpose Infrastructure for Network Applications)框架是一个用于构建高性能、跨平台的网络应用程序的开源Java框架。这个框架主要用于开发TCP和UDP应用,比如服务器端软件、网络协议库或者网络设备控制...

Global site tag (gtag.js) - Google Analytics