`
BruceXX
  • 浏览: 141527 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

2.0以下mina信息接收不全解决方案

阅读更多
接收不全是因为readBufSize不够,会分批接收。。
作为业务来说不好分析。

1.将一次session所有 接收的wrap起来。。

 public void messageReceived(IoSession session, Object message) throws Exception {
  //根据下面的值  循环把接收的消息收集起来,然后组成整个消息,不过这种做成多线程的话会有一些问题
  接收过来的消息可能不会按顺序接收,一般不会有问题
}
     totalSize=  session.getReadBytes() 消息体的整体长度 例如 10k
     message  的len   每次接收的大小 例如 1k,2k,4k,2k



2.hack session的API,Iosession实现类org.apache.mina.transport.socket.nio.SocketSessionImpl 其实是有私有方法
我们可以反射hack一下。
    public void sessionCreated(IoSession session) throws Exception {
        super.sessionCreated(session);
        

        //一次读的缓存大小,不然消息会分批接收
        hackReadBufSize(session, 8* 1024);
    }

    /**
     * hack无权限类相关域
     */
    private void hackReadBufSize(IoSession session, int readBuf) {
        try {
            Method method = session.getClass().getDeclaredMethod("setReadBufferSize", int.class);

            method.setAccessible(true);

            method.invoke(session, readBuf);

        } catch (Exception e) {

        }
    }



如此而已。。
0
0
分享到:
评论

相关推荐

    资料_MINA(第一部分

    同时,可能分析了Android系统在处理学生信息、课程安排、成绩查询等服务时的优缺点和解决方案。 3. **Android平台多媒体通信客户端研究与实现**:这个话题聚焦于Android平台上多媒体通信客户端的开发,可能涵盖了...

    MINA框架使用jar包(Android)

    总的来说,MINA框架为Android和Java后台之间的通信提供了一种强大且高效的解决方案。结合提供的jar包和参考资料,开发者可以构建出稳定且高性能的消息推送系统。但要注意,由于MINA主要设计为服务器端框架,因此在...

    mina学习笔记

    《Apache_Mina_Server_2.0中文参考手册V1.0》作为官方文档,通常会包含以下信息: 1. API参考:详尽的MINA API文档,列出了所有类、接口和方法,是开发过程中不可或缺的参考资料。 2. 用户指南:指导如何安装、配置...

    mina apach 网络通信框架高性能例子

    Apache MINA(Multipurpose Infrastructure for Network Applications)是一个高级网络通信框架,主要针对Java平台设计,...在实际项目中,可以结合MINA V2.0版本的特性和示例,快速搭建出符合需求的网络通信解决方案。

    Mina中文参考手册-API

    综上所述,Mina框架是一个非常强大的网络通信解决方案,尤其适用于需要处理大量并发连接的应用场景。对于Java开发者来说,掌握Mina框架能够极大地简化网络编程的复杂性,提高开发效率和应用性能。在深入学习和使用...

    MINA文档

    - **MINA使用手记[1] .shtml**和**MINA框架使用总结 .shtml**:这两篇可能是作者的经验分享,可能涵盖了在实际项目中遇到的问题、解决方案以及最佳实践。 - **Apache MINA 线程模型配置 .shtml**:这部分内容可能...

    Apache_Mina中文参考手册

    Apache Mina是一个强大的网络通信应用框架,主要针对TCP/IP、UDP/IP协议栈...总之,Apache Mina为开发者提供了高效、灵活的网络通信解决方案,降低了网络编程的难度,让开发者可以专注于业务逻辑,而不是底层通信细节。

    Apache Mina

    Apache Mina 2.0通过其高度抽象和模块化的架构,为开发者提供了一个强大且灵活的网络通信解决方案。借助Mina,即使是复杂的网络通信任务也能变得简单易行,大大提高了开发效率和应用性能。然而,为了充分发挥Mina的...

    java开源实时消息推送系统.rar

    Java开源实时消息推送系统是一种基于Java技术构建的高效、可靠且可扩展的解决方案,用于在互联网应用程序中实现实时通信。这种系统通常采用发布/订阅模型,允许服务器将消息广播到多个客户端,确保数据的即时传输。...

    JAVA上百实例源码以及开源项目源代码

    Java访问权限控制源代码 1个目标文件 摘要:Java源码,文件操作,权限控制 Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流...

Global site tag (gtag.js) - Google Analytics