`
hibernate159
  • 浏览: 7732 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

对解码器CumulativeProtocolDecoder的一个发现

 
阅读更多

import org.apache.mina.common.ByteBuffer;
import org.apache.mina.common.IoSession;
import org.apache.mina.filter.codec.CumulativeProtocolDecoder;
import org.apache.mina.filter.codec.ProtocolDecoderOutput;

public class DecoderTest extends CumulativeProtocolDecoder {

 @Override
 protected boolean doDecode(IoSession session, ByteBuffer buff,
   ProtocolDecoderOutput out) throws Exception {
  int remain = buff.remaining();
  System.out.println("开始解码" + remain);

  if (remain >= 4) {
    int b = buff.getInt();
   System.out.println(b);
   System.out.println("是否有剩余字节:" + buff.hasRemaining());
//   out.write(t);
   return true;
  }
  return false;
 }
}


解码函数doDecode()的返回值,有两个走向:

 

1.对ByteBuffer有读取操作,如buff.getInt(),这时

true:继续读取剩余字节,当hasRemaining()返回false时,过滤器跳转;

false:放弃剩余字节,过滤器直接跳转。

 

2.没有对ByteBuffer进行任何读取操作,这时,只能返回false,MINA规定,必须保证接受量=读取量

false:继续解码

true:抛异常

分享到:
评论

相关推荐

    mina自定义编解码器详解

    本文将深入探讨mina编解码器的工作原理,提供一个典型编解码器的示例,并解析其代码。 1. **mina框架基础** - Mina提供了一个高效的、事件驱动的网络应用程序框架,简化了网络编程,尤其是TCP和UDP通信。 - 它...

    专用 asf /avi/ai/wpf 解码器

    专用 asf /avi/ai/wpf 解码器 专用 asf /avi/ai/wpf 解码器 专用 asf /avi/ai/wpf 解码器 专用 asf /avi/ai/wpf 解码器 专用 asf /avi/ai/wpf 解码器 专用 asf /avi/ai/wpf 解码器 专用 asf /avi/ai/wpf 解码器 专用...

    MP4解码器MP4解码器MP4MP4解码器MP4

    "安装说明.url"文件通常是一个快捷方式,指向一个网页或者文本文件,提供了关于如何安装和使用Xvid解码器的详细步骤。在安装过程中,你可能需要遵循这些指示来正确地添加解码器到你的多媒体播放器,确保其能够识别并...

    MINA使用札记(CumulativeProtocolDecoder使用)

    在MINA框架中,CumulativeProtocolDecoder是一个关键的解码器组件,它在处理网络数据流时扮演着重要角色。本文将深入探讨CumulativeProtocolDecoder的使用及其背后的原理。 CumulativeProtocolDecoder的设计目标是...

    通用卫星解码器全国通用

    标题中的“通用卫星解码器全国通用”表明我们要讨论的是一个可以应用于全国范围内的卫星解码工具,这种工具能够解析并解码多种卫星信号。在IT领域,卫星解码器通常用于接收卫星电视信号或者进行数据通信。这些解码器...

    视频解码器OpenCodecSetup64位

    OpenCodecSetup64位是一款专为64位操作系统设计的视频解码器,它解决了许多用户在播放视频时遇到的不兼容或无法播放的问题。在本文中,我们将深入探讨视频解码器的重要性和OpenCodecSetup64位的功能,以及如何在64位...

    TSCC解码器EXE

    5. **用户界面**:虽然描述中未提及,但一个完整的解码器通常会有一个用户友好的图形界面,允许用户选择输入文件、设置参数,并显示解码进度和结果。 6. **安全性**:由于.exe文件可能面临病毒和恶意软件的威胁,...

    ASF音频解码器,用于解决ASF格式视频无声音

    在“解决播放ASF视频没有声音”的压缩包中,很可能包含了特定的ASF音频解码器或者一个包含该解码器的综合解码器包。安装这个压缩包中的内容,按照提示操作,应该能有效解决播放ASF视频无声音的问题。 总之,ASF音频...

    asf文件解码器

    然而,有时候由于某些原因,如编码不兼容或更新问题,Media Player 12可能无法正确处理特定的ASF文件,这时就需要一个专用的ASF解码器来解决问题。 **ASF文件解码器For Win7 Media Player 12** 这个特定的解码器专...

    POTPLAYER适用的AC3解码器(opencoder64bit)

    压缩包内的“FFmpegMininum64.dll”文件,很可能就是用于PotPlayer的AC3解码器组件,因为FFmpeg是一个开源的多媒体处理框架,它包含了多种音视频编解码器。此DLL(动态链接库)文件是Windows系统下的可执行代码,...

    3GPMP4解码器

    当用户通过3GPMP4解码器打开一个3GP或MP4文件时,解码器会识别文件的编码类型,然后利用对应的解码算法进行解码。对于视频,这通常涉及逆向执行熵编码、反量化、逆变换等步骤;对于音频,解码可能涉及解压缩和D/A...

    海康威视编解码器配置方法.docx

    在 IT 行业中,海康威视编解码器是一种常见的视频监控设备,用于将模拟视频信号转换为数字信号,以便于远程监控和录像。为了正确地配置海康威视编解码器,需要了解其配置方法和步骤。 一、编解码器配置 1. 远程...

    IV50解码器

    IV50解码器是一种专为处理特定编码格式设计的软件工具。在数字媒体和视频技术领域,解码器扮演着至关重要的角色,它能够将压缩的数字信号转化为可读的音频或视频格式,以便在计算机、电视或其他设备上播放。IV50是一...

    ffmpeg解码器

    当FFmpeg接收到一个包含H.264编码视频的封装文件时,它会使用相应的H.264解码器进行解码。H.264是一种高效的视频编码标准,广泛应用于高清视频和网络流媒体。解码器的工作是将H.264编码的NAL(网络抽象层)单元解析...

    rmvb解码器下载,RM、RA、RMVB解码器

    3. **更新**:定期检查并更新解码器,以保证对最新视频编码标准的支持,同时修复可能的安全漏洞。 4. **多解码器解决方案**:有些媒体播放器,如VLC Media Player,内置了多种解码器,包括RMVB,安装这样的播放器...

    PotPlayer 解码器.zip

    总的来说,"PotPlayer 解码器.zip"文件是提高PotPlayer播放性能的重要工具,特别是对那些经常遇到播放问题或者需要处理多种格式媒体文件的用户来说,安装这些解码器将极大地提升工作效率和娱乐体验。在安装过程中,...

    C++实现的Mp3解码器

    本文将深入探讨一个基于C++实现的MP3解码器,通过对提供的文件列表进行分析,我们可以了解到这个解码器的构建过程以及涉及到的关键技术。 首先,我们看到文件列表中有`madlldlib.cpp`、`bstdfile.cpp`、`armslen....

    VC++,器,千千静听解码器

    **VC++与音频解码器** 在数字音频领域,解码器是至关重要的组件,它负责将音频文件的编码格式转换为计算机可以理解和播放的原始声音...对于喜欢音乐和对音质有较高要求的用户来说,这样的解码器无疑是一个理想的选择。

    QuickTime 解码器

    QuickTime_Alternative_322.exe 是一个针对Windows平台的QuickTime解码器替代软件,可能包含了对最新版本MOV格式的支持。安装这个程序后,用户无需安装完整的QuickTime Player也能播放MOV文件,减少了系统资源的占用...

    海康威视DS69UD系列高清视频解码器V2.4.0 build 190717固件

    海康威视DS69UD系列高清视频解码器是一款专为视频监控系统设计的高性能设备,用于将编码后的视频流解码成高质量的实时图像。这个固件版本V2.4.0 build 190717是该设备的操作系统更新,旨在提升设备的性能、稳定性和...

Global site tag (gtag.js) - Google Analytics