当前位置:编程学习 > wap >>

android运行socket程序出错

socket网络程序,服务器端运行监听正常,但是Android的客户端运行,在虚拟机界面上就会提示“程序关闭”,我用的是escepilse,调试运行到 gm_socket = new Socket("10.0.2.2", 8000);时,提示:source is not found,这是什么意思啊!?是哪里设置不对么?? 
Android socket --------------------编程问答-------------------- Logcat中的信息是:
thread exiting with uncaugt exception group=0x40a71930 --------------------编程问答-------------------- 你的Android终端连接上WiFi了吗? --------------------编程问答-------------------- 首先确认你的模拟器能上网,还有你的服务器是在本机上的么 --------------------编程问答-------------------- socket通讯要放在线程里处理。 --------------------编程问答-------------------- 下载了一个例子程序,可以正常连接。同样的代码拷贝到自己的程序里,就出错了。 --------------------编程问答-------------------- 刚才试了一下,把Androidmanifest.xml文件中的
<uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

修改为:

<uses-sdk
        android:minSdkVersion="7"/>

就可以正常连接了。
想请教一下如果不修改这个地方,有没有其他的解决办法?
谢谢! --------------------编程问答-------------------- 你贴个完整log,信息太少不好分析。 --------------------编程问答-------------------- LogCat信息如下:

08-07 02:17:02.412: D/gralloc_goldfish(800): Emulator without GPU emulation detected.
08-07 02:18:17.781: D/AndroidRuntime(800): Shutting down VM
08-07 02:18:17.781: W/dalvikvm(800): threadid=1: thread exiting with uncaught exception (group=0x40a71930)
08-07 02:18:17.821: E/AndroidRuntime(800): FATAL EXCEPTION: main
08-07 02:18:17.821: E/AndroidRuntime(800): android.os.NetworkOnMainThreadException
08-07 02:18:17.821: E/AndroidRuntime(800):  at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1117)
08-07 02:18:17.821: E/AndroidRuntime(800):  at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:84)
08-07 02:18:17.821: E/AndroidRuntime(800):  at libcore.io.IoBridge.connectErrno(IoBridge.java:127)
08-07 02:18:17.821: E/AndroidRuntime(800):  at libcore.io.IoBridge.connect(IoBridge.java:112)
08-07 02:18:17.821: E/AndroidRuntime(800):  at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
08-07 02:18:17.821: E/AndroidRuntime(800):  at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
08-07 02:18:17.821: E/AndroidRuntime(800):  at java.net.Socket.startupSocket(Socket.java:566)
08-07 02:18:17.821: E/AndroidRuntime(800):  at java.net.Socket.tryAllAddresses(Socket.java:127)
08-07 02:18:17.821: E/AndroidRuntime(800):  at java.net.Socket.<init>(Socket.java:177)
08-07 02:18:17.821: E/AndroidRuntime(800):  at java.net.Socket.<init>(Socket.java:149)
08-07 02:18:17.821: E/AndroidRuntime(800):  at com.example.testsocket.MainActivity$buttonOnClickListener.onClick(MainActivity.java:62)
08-07 02:18:17.821: E/AndroidRuntime(800):  at android.view.View.performClick(View.java:4204)
08-07 02:18:17.821: E/AndroidRuntime(800):  at android.view.View$PerformClick.run(View.java:17355)
08-07 02:18:17.821: E/AndroidRuntime(800):  at android.os.Handler.handleCallback(Handler.java:725)
08-07 02:18:17.821: E/AndroidRuntime(800):  at android.os.Handler.dispatchMessage(Handler.java:92)
08-07 02:18:17.821: E/AndroidRuntime(800):  at android.os.Looper.loop(Looper.java:137)
08-07 02:18:17.821: E/AndroidRuntime(800):  at android.app.ActivityThread.main(ActivityThread.java:5041)
08-07 02:18:17.821: E/AndroidRuntime(800):  at java.lang.reflect.Method.invokeNative(Native Method)
08-07 02:18:17.821: E/AndroidRuntime(800):  at java.lang.reflect.Method.invoke(Method.java:511)
08-07 02:18:17.821: E/AndroidRuntime(800):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
08-07 02:18:17.821: E/AndroidRuntime(800):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
08-07 02:18:17.821: E/AndroidRuntime(800):  at dalvik.system.NativeStart.main(Native Method)
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,