作者danny9934 (WEST)
看板AndroidDev
標題[問題] 簡易聊天室
時間Tue Apr 19 22:16:09 2011
開發層: (應用/框架/庫/核心)
用Socket實作簡易聊天室
問題:
用Eclipse模擬器的Client端無法連到Server
輸入:
我是將書附的光碟將程式碼取出
並執行編譯
但Android的Client端一直無法連到Server
普通的Client端連可以連上
麻煩各位高手幫忙
try
{
//連接服務器
//
0.
mSocket = new Socket(SERVERIP, SERVERPORT);
//取得輸入、輸出流
//
1.
mBufferedReader = new BufferedReader(new
InputStreamReader(mSocket.getInputStream()));
mPrintWriter=new PrintWriter(mSocket.getOutputStream(), true);
我分別在0. 和 1.各設一個FLAG
發現他會經過0.
沒有跑到1.
似乎在連結Server就掛了
Eclipse也沒出現錯誤訊息
程式碼: (請多利用置底文網站)
Server :
http://pastebin.com/hiDX2DAA
全部程式碼 :
http://tinyurl.com/3kd3stz
謝謝大家
如有違反版規麻煩版主告知
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.171.178.107
1F:→ blackbear:我有socket一點開發經驗,你試試看, 不見得正確 04/19 22:53
2F:→ blackbear:首先 你要用到網路 會跟權限有關設定 04/19 22:54
3F:→ blackbear:Permission denied (maybe missing INTERNET permission 04/19 22:54
4F:→ blackbear:) 因為模擬器 跟電腦連外網路間 似乎有個類似NAT的設定 04/19 22:56
6F:→ blackbear:l 類似所說的。而client 連server 的ip好像要用 04/19 22:59
7F:→ blackbear:10.0.2.2 這個為什麼我就不太清楚了@@ 04/19 22:59
8F:→ blackbear:現在 我只能 client server 在同一台電腦上 溝通 04/19 23:00
9F:→ blackbear:至於用兩台電腦連,會有問題 我也不知道為什麼!? 04/19 23:00
10F:→ danny9934:感謝黑熊大 我來試試看 04/20 00:19
11F:推 abccbaandy:你用那個ip是私有IP,當然連不出去XD 04/20 00:48
12F:推 blackbear:謝謝樓上,當我server架在 ip為140.xxx.xxx.xxx:YY的模 04/20 10:25
13F:→ blackbear:器上,server用 127.0.0.1:YY 可以連線到,但使用 04/20 10:26
14F:→ blackbear:140.xxx.xxx.xxx:YY 就會失敗,不知道什麼原因 04/20 10:26
15F:推 ledia:有 firewall ? 04/20 15:40