2011-08-08 105 views
0

我有一個嘗試連接到服務器的Android應用程序。但是在創建套接字時出現問題。該應用程序掛起時,它嘗試實現以下行:創建套接字時出現問題

Socket socket= null; 
socket = new Socket("192.168.0.15", 6565); 

注意,我已經加入此權限:

<uses-permission android:name="android.permission.INTERNET" /> 

也是我用過的調試,但是當它達到創造插座線和我把它掛已經得到了有關錯誤的詳細信息:

java.net.SocketTimeoutException: Socket is not connected id=829731319824 

我確信端口沒有綁定。 我很感謝你的時間。

+0

您是在設備上還是在仿真器上測試它?如果它在設備上有防火牆設置,比如DroidWall? – arunkumar

+0

您是否嘗試過socket.setSoTimeout()? – Gopal

+0

我在舊金山的手機上試過它.. anroid sys 2.1update – Hazim

回答

0

很明顯,您的連接無法建立,問題不在於您的代碼中,而是網絡設置。爲避免您的應用程序掛起,請確保捕捉到SocketTimeoutException,以便能夠向用戶顯示錯誤消息以及一些按鈕,以便再次嘗試或取消連接。

+0

請問我是一個新的android ..怎麼做? – Hazim

+0

行..如何得到錯誤信息 – Hazim

1

您的連接可能無法建立或需要一段時間才能建立。

對java.net.Socket的操作阻塞,這就是爲什麼你的應用程序似乎掛起。爲了避免「掛起」UI,你應該嘗試使用另一個線程來建立連接,這樣你的UI線程就不會阻塞,並且會保持響應。

+0

請..我需要更多的解釋.. – Hazim