1.首先是客户端和服务端的过滤器要一致,此问题容易导致异常:
java.nio.charset.MalformedInputException
//创建接受数据的过滤器 DefaultIoFilterChainBuilder chain = connector.getFilterChain(); //设定这个过滤器将一行一行(/r/n)的读取数据 chain.addLast("myChin", new ProtocolCodecFilter(new TextLineCodecFactory())); //这个是传递字符串用的解码器,屏蔽掉 chain.addLast("codec",new ProtocolCodecFilter(new ObjectSerializationCodecFactory())); //这个才是mina传递对象的解码器
2.要传递的对象在客户端和服务端要传递的类都要实现接java.io.Serializable;如果这个对象内部引用2了其他类,那么这个“其他类”
也是要实现java.io.Serializable接口的,否则容易产生java.io.NotSerializableException:
public class MsgObject implements Serializable {...}
3. 在服务器端和客户端传递的对象所在的包、且类名等最好一致,(这个是最坑爹的,当我发现是这个原因时整个人都不好了)否则可能出现如下异常:
org.apache.mina.core.buffer.BufferDataException: java.io.InvalidClassException: failed to read class descriptor (Hexdump: 00 00 00 3C AC ED 00 05 73 72 01 00 22 63 6F 6D 2E 65 78 61 6D 70 6C 65 2E 73 65 6C 66 73 74 61 72 74 69 6E 67 2E 4D 73 67 4F 62 6A 65 63 74 78 70 00 00 00 01 74 00 08 48 69 6D 69 77 77 77 77)
4.最后别忘了在安卓客户端配置文件里加网络访问权限啊
< uses-permission android:name ="android.permission.INTERNET" />
相关推荐
在Android平台上实现mina通信,是将Java的mina框架应用到移动设备上,以实现高效、稳定的数据传输。Mina是一个开源的网络通信框架,广泛应用于TCP/IP和UDP/IP协议的编程,尤其适合处理大量并发连接的情况,如智能...
在Android开发中,Mina可以帮助开发者轻松地处理TCP/IP和UDP/IP通信,尤其适用于实现长连接和断线重连功能。下面将详细介绍Mina框架在Android中的应用及其核心概念。 1. **Mina框架基础** Mina源于Java平台,但在...
这个Demo提供了完整的Mina通信示例,涵盖了从客户端发起连接、发送数据到服务端接收和响应的全部流程。对于初学者,这是一个很好的起点,通过阅读和运行代码,可以深入理解Mina在网络通信中的工作原理和使用方法。
在实际使用`Android-MinaSocket` 时,开发者需要注意以下几点: - **连接管理**:保持长连接需要考虑网络波动、设备休眠等因素,确保在异常情况下能自动重连。 - **心跳机制**:为了检测连接是否断开,通常需要...
在Android开发中,Mina库是一个非常强大的网络通信框架,它允许开发者构建高性能、高效率的网络应用程序。本文将深入探讨如何使用Mina库在Android客户端与Java服务器之间实现UDP(用户数据报协议)的数据交互。 UDP...
MinaServer是一款专为Android平台设计的服务端应用程序,它基于Apache Mina框架构建,允许开发者在Android设备上实现高性能、低延迟的网络通信服务。Mina是一个开源项目,旨在简化网络应用开发,尤其适用于TCP/IP和...
**Mina通信Demo详解** ...通过这个"Mina通信Demo",开发者可以快速理解和实践Mina框架在Android上的应用,进一步掌握TCP/IP和Socket通信技术。理解并熟练运用这些知识,将有助于开发出高效、稳定的网络应用。
在Android开发中,Mina库是一个非常重要的网络通信框架,它为开发者提供了高效、灵活的网络编程接口。Mina支持多种传输协议,包括TCP、UDP等。本资源提供的"Android Mina UDP 所需jar包.rar"正是针对使用UDP协议进行...
在Android平台上,MINA可以简化网络通信的实现,帮助开发者专注于业务逻辑,而不是底层通信细节。 本教程将深入探讨如何在Android项目中集成MINA框架,以及如何解决在实际开发中可能遇到的问题,如中文乱码和消息...
标题中提到的"android mina 即时通讯 服务端客户端代码",意味着我们将探讨如何在Android客户端和服务器之间建立这样的通信链路。在服务端,你需要创建一个基于Mina的SocketAcceptor,监听特定的端口(如描述中提到...
在Android Studio环境下开发MINA应用,需要注意Android的多线程模型和资源管理。由于Android主线程不能进行长时间的阻塞操作,MINA的网络读写操作通常在后台线程进行。同时,考虑到内存和电池的限制,需要合理管理和...
标题中的“udp.rar_MINA udp_android mina UDP_mina_mina u”暗示了这是一个关于使用MINA框架在Android平台上实现UDP通信的资源包。MINA(Multipurpose Infrastructure for Network Applications)是一个高性能、...
提供的"app"可能是一个使用mina的Android应用示例,它展示了如何在Android环境中集成mina并实现网络通信。这个app可能包括了服务端和客户端两部分,服务端使用mina监听特定端口,接收客户端连接,并处理发送过来的...
总的来说,mina心跳包机制是保持网络连接稳定的关键组件,通过定期的通信检查来确保客户端和服务端之间的连接处于活动状态。在实际应用中,开发者需要根据具体需求调整心跳包的发送频率、超时阈值以及响应策略,以...
在Android开发中,Socket编程是实现设备间通信的重要手段,特别是在构建网络应用和服务时。MINA(Multipurpose Infrastructure for Network Applications)是一个强大的网络应用程序框架,它简化了在Java和Android...
本项目“Android-基于Apache MINA进行封装实现Android APP作为服务器客户端进行通讯”正是利用MINA库来构建Android应用的网络通信功能。 Apache MINA的核心优势在于其非阻塞I/O(Non-blocking I/O)模型,这种模型...
在Android平台上,由于系统资源有限,高效且轻量级的通信框架显得尤为重要,Mina正是这样一个理想的选择。 在Android上使用Mina框架,可以极大地简化TCP通信的实现过程。TCP是一种面向连接的、可靠的传输层协议,...
在Android平台上,Mina可以被用于开发移动应用,实现与服务器的稳定通信。需要注意的是,由于Android系统特性,如电量管理、网络切换等,可能需要额外处理这些情况,以确保连接的健壮性。 在提供的文件"minaConnect...
这个框架协议自己定义(即:底层已有字符串传输或Object传输,自己可以定义字符串会对象进行解析来制定自己的...语音、图片等其实也是上传文件服务器再连个即时通信字符串通信而已; 注意:SSH-lib里有注意事项说明
**Android MiNa 通讯实现** ...通过以上步骤,你就成功地在Android应用中实现了MiNa通信,实现了简单的文本传输功能。这只是一个基础示例,实际应用中可以根据需求扩展MiNa的功能,如处理更复杂的协议、加密传输等。