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

min2.0截报文长度

    博客分类:
  • java
阅读更多
前些时候将mina1.0升级到mina2.0版本,在windows下测试没问题,可是迁移到AIX下发现报文截长度不对,只能截1024长度,使得所有超过1024的报文都出错.没办法只能查看MINA2.0源码,发现截报文的时候默认取I/O的长度,而且只取一次.如果要取超过超过默认的长度时,有二种方法:1,先告诉它你的报文长度,然后分断,将每次取的内容连接起来.
具体操作:
package com.erayt.utils.mina.codec;


import org.apache.mina.core.session.IoSession;
import org.apache.mina.filter.codec.ProtocolCodecFactory;
import org.apache.mina.filter.codec.ProtocolDecoder;
import org.apache.mina.filter.codec.ProtocolEncoder;

import java.nio.charset.Charset;

public class FixedStringCodecFactory implements ProtocolCodecFactory {

private final FixedStringEncoder encoder;

private final FixedStringDecoder decoder;

public FixedStringCodecFactory(Charset charset) {
encoder = new FixedStringEncoder(charset);
decoder = new FixedStringDecoder(charset);
}

public FixedStringCodecFactory() {
this(Charset.defaultCharset());
}


public int getEncoderMaxDataLength() {
return encoder.getMaxDataLength();
}


public void setEncoderMaxDataLength(int maxDataLength) {
encoder.setMaxDataLength(maxDataLength);
}


public int getDecoderMaxDataLength() {
return decoder.getMaxDataLength();
}


public void setDecoderMaxDataLength(int maxDataLength) {
decoder.setMaxDataLength(maxDataLength);
}


public void setDecoderPrefixLength(int prefixLength) {
decoder.setPrefixLength(prefixLength);
}


public int getDecoderPrefixLength() {
return decoder.getPrefixLength();
}


public void setEncoderPrefixLength(int prefixLength) {
encoder.setPrefixLength(prefixLength);
}


public int getEncoderPrefixLength() {
return encoder.getPrefixLength();
}

public ProtocolEncoder getEncoder(IoSession session) throws Exception {
return encoder;
}

public ProtocolDecoder getDecoder(IoSession session) throws Exception {
return decoder;
}
}


新增一个编码器:
分享到:
评论

相关推荐

    vue.js 2.0

    vue.js 2.0 vue.js 和 vue.min.js Don’t use the minified version during development. You will miss out on all the nice warnings for common mistakes!

    jQuery-min-2.0 官方压缩版.rar

    jQuery是款优秀的javascript框架,现在它又发布2.0版本。web前端开发人员必备哦。 关于 jQuery 2.0 : JQuery2.0的发布,流行的jQuery JavaScript库到了一个重要里程碑。2.0版本比前任版本在大小上缩减了12%,...

    jquery.switchable-2.0.min(1)

    jquery.switchable-2.0.min(1)

    JQuery2.0库文件

    **jQuery2.0库文件详解** jQuery,作为一个广泛使用的JavaScript库,极大地简化了网页的DOM操作、事件处理、动画设计以及Ajax交互。在2.0版本中,jQuery进行了诸多优化和改进,旨在提升性能和兼容性,同时也移除了...

    百度地图离线API 1.3+API2.0

    例如,apiv2.0.min.js是一个压缩后的版本,包含了API的核心功能,使用时需要将其引用到HTML文件中,然后编写JavaScript代码来调用API接口。同时,为了实现离线功能,开发者还需要下载相应的地图瓦片数据,这些数据...

    USB2.0 layout guideline

    ### USB2.0布局指南详解 #### 一、概述 USB2.0是Universal Serial Bus (通用串行总线)的版本之一,它为电子设备之间的数据交换提供了一个标准接口。USB2.0规范在2000年发布,最大传输速率为480Mbps,比之前的USB...

    百度地图离线版Javascript API 2.0版

    本文将详细介绍百度地图离线版Javascript API 2.0版,这是一个适用于开发者在没有网络连接的情况下依然可以使用的地图服务解决方案。该版本提供了全面的功能和丰富的示例,帮助开发者构建基于地图的应用程序。 首先...

    百度地图2.0离线版

    【标题】"百度地图2.0离线版"是一个专为用户提供便捷、高效地图服务的软件版本,尤其适合在无网络环境下使用。它集成了百度地图的各项核心功能,旨在为用户带来流畅的导航体验,无需依赖网络连接。 【描述】"百度...

    日历laydate2.0版

    - **参数配置**:laydate提供丰富的配置项,如format(日期格式)、type(日期类型)、min(最小日期)、max(最大日期)等,可以根据需求调整。 3. **laydate2.0的配置选项** - `elem`:需要绑定的日历元素,...

    等保2.0测评 linux服务器加固 基本安全配置手册.docx

    *PASS_MAX_DAYS、PASS_MIN_DAYS、PASS_MIN_LEN、PASS_WARN_AGE 等参数的作用 四、修改自动注销帐号时间 * 自动注销帐号可以减少攻击风险 * 修改 profile 文件中的 TMOUT 参数可以实现自动注销 * TMOUT 按秒计算,...

    lib-flexible-2.0

    "lib-flexible-2.0" 是一个专用于网页自适应的JavaScript库,它主要解决的是在不同设备和屏幕尺寸下网页布局与显示的问题。在移动互联网时代,随着各种智能设备的广泛使用,网页设计必须考虑多终端适配,这就需要...

    USB2.0 Board Layout Guideline-NEC.pdf

    设计时要确保CMOS器件的输入电平不会长时间处于VIL(MAX)和VIH(MIN)之间,防止因噪声导致的设备不稳定。对于固定输入电平,应避免振荡噪声,并在电平过渡期间特别注意。 3. **未使用输入引脚处理**:未连接的...

    JQuery zTree 2.0 一个非常好用的jQuery树插件

    同时,`jquery-ztree-2.0.js`和`jquery-ztree-2.0.min.js`分别是完整版和压缩版的zTree插件文件。 **五、更新日志** `更新日志2.x.txt`文件记录了zTree 2.0版本的更新内容和修复的问题,是了解新特性、改进和已知...

    最新百度地图API Javascript V2.0 离线版本。 完全脱离百度在线地图, 有比较完善的示例Demo, 默认带有全国

    最新百度地图API Javascript V2.0 离线版本。 完全脱离百度在线地图, 有比较完善的示例Demo, 默认带有全国8级地图

    easyDialog v2.0

    5. `easydialog.min.js`:这是一个压缩和优化过的版本,适用于生产环境,减少了文件大小,提高了页面加载速度。 `easyDialog v2.0`的特性主要包括: 1. **易于使用**:只需简单几行代码就能创建出各种对话框,例如...

    GuessNumber - 2.0.zip

    例如,`setRange(int min, int max)`用于设置难度对应的数字范围。同时,`Game`类作为主游戏逻辑,可以有一个`difficulty`属性,用于存储当前游戏的难度级别,这样就能根据难度动态调整数字生成的范围。 在用户交互...

    USB 2.0 A 型、B 型、Mini和 Micro 接口定义及封装

    ### USB 2.0 A 型、B 型、Mini 和 Micro 接口定义及封装 USB(Universal Serial Bus)即通用串行总线,在计算机领域内被广泛应用于各种外设连接,它提供了标准化的数据传输接口,使得不同设备之间能够进行高效的...

    SB Admin v2.0(boostrap 后台模板)

    SB Admin v2.0是一款基于Bootstrap框架的后台管理模板,专为构建现代Web应用程序的后端界面而设计。Bootstrap是一个流行的开源前端开发框架,由Twitter开发,它提供了一系列预先设计的CSS、JavaScript组件和HTML模版...

    css2.0中文手册

    4. **定位与布局**:CSS2.0引入了更强大的定位系统,如z-index用于确定元素的堆叠顺序,以及min/max-width/height用于设置元素的最小和最大尺寸。 5. **多列布局**:CSS2.0允许创建多列布局,便于内容的分栏显示。 ...

    基于java的Min-Min,Max-Min等算法编码

    Min-Min和Max-Min算法是经典的作业调度策略,主要用于优化资源分配和提高系统效率。这些算法通常应用于处理多个任务或作业,旨在最小化总体完成时间或最大化系统的吞吐量。在这里,我们深入探讨基于Java实现的Min-...

Global site tag (gtag.js) - Google Analytics