作者areyo (沒有名字的怪物)
看板AndroidDev
標題[問題] 請教SOCKET問題(已爬過文)
時間Sat Mar 9 08:47:00 2013
找到問題點了,原來是在主線程不能直接訪問網路
http://developer.android.com/reference/android/os/NetworkOnMainThreadException.html
希望給有需要的人參考
大家早:
小弟目前測試 手機連到PC端(server) 的socket程式
手機Client端的程式是參照(
http://gogkmit.wikidot.com/demo:socket01)金門大學的
try {
// 設定IP
serverIp = InetAddress.getByName("192.168.60.251");
// 設定port
int serverPort=5050;
// 初始socket連接
Socket clientSocket=new Socket(serverIp,serverPort);
// 接收來自Server的訊息
BufferedReader br=new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
// 顯示收到的訊息
TextView01.setText( br.readLine());
// 關閉連線
clientSocket.close();
} catch (IOException e) {
// 出錯後顯示錯誤訊息
TextView01.setText( "Connect error.");
}
程式在socket連接那邊就卡住,不能繼續DEBUG
網路權限設定也改過了,增加可以存取網路
後來看了log
Unexpected error while launching logcat. Try reselcting the device.] device not found
com.android.ddmlib.AdbCommandRejectedException: device not found
Google下照他們處理的方式也不能
但很奇怪的是,我若直接跑金門大學的client卻是可以連到server的
文有點長,麻煩大家了
謝謝
--
懶惰與懦弱使愚笨成自然
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.127.191.91
推 MetalChao:你這段code跟金門大學的範例一模一樣啊, 你要不要找找 03/09 14:24
→ MetalChao:你的code跟金門大學(整個project)的差異在哪裡? 03/09 14:25
→ areyo:Target API,他的是GoogleAPI, 我的不是...這有影響嗎? 03/09 14:48
→ areyo:測試過GOOGLE API,一樣不能連線@@ 03/09 15:18
※ 編輯: areyo 來自: 59.127.191.91 (03/09 16:40)