接收不全是因为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) {
}
}
如此而已。。
分享到:
相关推荐
同时,可能分析了Android系统在处理学生信息、课程安排、成绩查询等服务时的优缺点和解决方案。 3. **Android平台多媒体通信客户端研究与实现**:这个话题聚焦于Android平台上多媒体通信客户端的开发,可能涵盖了...
总的来说,MINA框架为Android和Java后台之间的通信提供了一种强大且高效的解决方案。结合提供的jar包和参考资料,开发者可以构建出稳定且高性能的消息推送系统。但要注意,由于MINA主要设计为服务器端框架,因此在...
《Apache_Mina_Server_2.0中文参考手册V1.0》作为官方文档,通常会包含以下信息: 1. API参考:详尽的MINA API文档,列出了所有类、接口和方法,是开发过程中不可或缺的参考资料。 2. 用户指南:指导如何安装、配置...
Apache MINA(Multipurpose Infrastructure for Network Applications)是一个高级网络通信框架,主要针对Java平台设计,...在实际项目中,可以结合MINA V2.0版本的特性和示例,快速搭建出符合需求的网络通信解决方案。
综上所述,Mina框架是一个非常强大的网络通信解决方案,尤其适用于需要处理大量并发连接的应用场景。对于Java开发者来说,掌握Mina框架能够极大地简化网络编程的复杂性,提高开发效率和应用性能。在深入学习和使用...
- **MINA使用手记[1] .shtml**和**MINA框架使用总结 .shtml**:这两篇可能是作者的经验分享,可能涵盖了在实际项目中遇到的问题、解决方案以及最佳实践。 - **Apache MINA 线程模型配置 .shtml**:这部分内容可能...
Apache Mina是一个强大的网络通信应用框架,主要针对TCP/IP、UDP/IP协议栈...总之,Apache Mina为开发者提供了高效、灵活的网络通信解决方案,降低了网络编程的难度,让开发者可以专注于业务逻辑,而不是底层通信细节。
Apache Mina 2.0通过其高度抽象和模块化的架构,为开发者提供了一个强大且灵活的网络通信解决方案。借助Mina,即使是复杂的网络通信任务也能变得简单易行,大大提高了开发效率和应用性能。然而,为了充分发挥Mina的...
Java开源实时消息推送系统是一种基于Java技术构建的高效、可靠且可扩展的解决方案,用于在互联网应用程序中实现实时通信。这种系统通常采用发布/订阅模型,允许服务器将消息广播到多个客户端,确保数据的即时传输。...
Java访问权限控制源代码 1个目标文件 摘要:Java源码,文件操作,权限控制 Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流...