mina android编程错误总结

来源:互联网 发布:网络博客网站大全 编辑:程序博客网 时间:2024/05/24 15:39

使用MINA编写服务器端和android客户端软件常常会遇到各种问题

1.出现形如下的错误提示

java.lang.NoClassDefFoundError: org.apache.mina.transport.socket.nio.NioSocketConnector

这个问题常常见于安装到手机或者模拟器中出现,使用java客户端在电脑上测试没有该问题,这是链接库出了问题,需要按以下步骤安装mina库。

在android工程下新建文件夹Libs或者lib,在lib上右键use as source folder(这个很重要),将mina-core.jar,slf4j-android.jar放到lib下,右键这两个jar,选择add to buildpath

2. org.apache.harmony.nio.internal.SelectorImpl.wakeup(SelectorImpl.java:418)

可能是资源冲突,过一会儿再试试,也可能是创建接连失败,请查看连接代码,包括IP地址和端口是否正确

3.运行时出现slf4j错误,java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder这是因为mina中使用slf4j作为日志框架(不知道slf4j的同志们请google下),

下载了导入进去就行了,

4.形如Java.net.SocketExcetion:Socket  failed:错误,缺少权限

AndroidManifest.xml中添加如下代码:<uses-permission android:name="android.permission.INTERNET" />

5形如android.os.NetworkOnMainThreadException

android新版本中禁止在主线程做耗时的操作,以防止阻塞主线程,把代码放入

new Thread() {
                 public void run() {
                     
                        }
                    }
                }.start();

6 形如java.lang.NoSuchMethodError: org.slf4j.impl.StaticLoggerBinder.getSingleton()Lorg/slf4j/impl/StaticLoggerBinder;

slf4j版本不匹配引起,常见于老资源或者老源码配置最新库的情况下

7形如

java.net.SocketException: Bad address family  的错误,android 低版本不支持IPV6引起,为了兼容低版本手机,需要在代码中加入

java.lang.System.setProperty("java.net.preferIPv6Addresses", "false");

8 服务器发生异常:java.lang.NoSuchMethodError: java.lang.String.<init> (Hexdump: 77 65 6C 63 6F 6D 65 20 74 6F 20 74 68 65 20 63 68 61 74 20 72 6F 6F 6D 20 21 0A 32 30 31 34 2D 30 37 2D 32 39 20 30 33 3A 32 37 3A 34 39 09 35 35 35 0A)

一般是编码工厂有错,android和linx或者win服务通信,使用的编码工厂会有不小的区别,常常于不同客户端,有些客户端正常,有些不正常,打印解码类或者exceptionCaught方法可以查到编码不匹配的原因。结束符“\n”, "\0","\r\n",编码类型"US-ASCII","UTF-8"服务器客户端不统一,也易出这个问题

9java.nio.charset.MalformedInputException,客户端和服务端的过滤器不一致,多人协作开发容易出这个问题

10java.io.NotSerializableException:,要传递的对象在客户端和服务端要传递的类都要实现接口java.io.Serializable

11在客户端使用命令行向服务器测试数据

 Scanner scanner = new Scanner(System.in);

            while (scanner.hasNext()) {

              client.send(scanner.next());

            }


http://www.xuebuyuan.com/754364.html



0 0