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

Android Socket 编程与服务器通信的问题

小弟近来在学习android的Socket编程,之前我在电脑上写了一个简单的服务器(Windows Socket),希望可以通过手机上的客户端和电脑上服务器进行通信。然后就是在传递字符的时候出现了问题。
      我android客户端接受字符的代码是:
public void connectToServer(){ //方法:连接客户端
     try{
     Socket socket = new Socket("222.20.105.229", 4500);//创建Socket对象
     BufferedReader reader = new BufferedReader(
     new InputStreamReader(socket.getInputStream()));
     String txt = reader.readLine();
     EditText et = (EditText)findViewById(R.id.et);
     et.setText(txt);
     }
         ……
}

在语句reader.readLine的时候,程序莫名奇妙地停止了,我用调试的时候,发现reader里面的buf其实已经存入了从服务器返回的字符串(返回的是“Connect Success!”)。但是就是调用readLine方法时出了问题,不知道怎么解决。

望各位大虾指点。


             --------------------编程问答-------------------- --------------------编程问答-------------------- 把出错的log贴上来啊 --------------------编程问答-------------------- 可是log里面没有新生成的信息,运行到String txt = reader.readLine();就自动停止了,什么都不出现。

04-05 09:19:45.663: D/dalvikvm(371): LinearAlloc 0x0 used 639500 of 5242880 (12%)
04-05 09:19:45.804: D/ddm-heap(379): Got feature list request
04-05 09:19:45.884: W/ActivityThread(379): Application wyf.wpf is waiting for the debugger on port 8100...
04-05 09:19:45.914: I/System.out(379): Sending WAIT chunk
04-05 09:19:45.947: I/dalvikvm(379): Debugger is active
04-05 09:19:46.123: I/System.out(379): Debugger has connected
04-05 09:19:46.123: I/System.out(379): waiting for debugger to settle...
04-05 09:19:46.358: I/System.out(379): waiting for debugger to settle...
04-05 09:19:46.580: I/System.out(379): waiting for debugger to settle...
04-05 09:19:46.799: I/System.out(379): waiting for debugger to settle...
04-05 09:19:47.048: I/System.out(379): waiting for debugger to settle...
04-05 09:19:47.278: I/System.out(379): waiting for debugger to settle...
04-05 09:19:47.504: I/System.out(379): waiting for debugger to settle...
04-05 09:19:47.711: I/System.out(379): waiting for debugger to settle...
04-05 09:19:47.926: I/System.out(379): waiting for debugger to settle...
04-05 09:19:48.175: I/System.out(379): waiting for debugger to settle...
04-05 09:19:48.385: I/System.out(379): waiting for debugger to settle...
04-05 09:19:48.616: I/System.out(379): waiting for debugger to settle...
04-05 09:19:48.824: I/System.out(379): debugger has settled (1393)
04-05 09:19:55.591: W/ActivityManager(51): Launch timeout has expired, giving up wake lock!
04-05 09:19:55.948: W/ActivityManager(51): Activity idle timeout for HistoryRecord{44c67b18 wyf.wpf/.Sample_10_1_Client}
04-05 09:20:05.414: D/dalvikvm(106): GC freed 2354 objects / 137712 bytes in 236ms
04-05 09:20:10.525: D/dalvikvm(231): GC freed 488 objects / 44088 bytes in 284ms
04-05 09:21:11.254: I/global(379): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.
--------------------编程问答-------------------- 不是有try catch么,你在catch里面打印下log.e(e.toString());不就知道错误时什么了! --------------------编程问答-------------------- 请问你的问题解决了吗,我现在也是这样的问题
--------------------编程问答-------------------- 字符集问题?
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,