目前我正在使用Socket與服務器進行通信的android移動客戶端 - 服務器應用程序。當我在家中使用我的WIFI測試應用程序時,該應用程序按預期工作。但是,只要我開始在有活動WIFI的其他地方測試它,Socket就無法建立與服務器的連接。雖然我在清單中聲明瞭Internet權限並且WIFI正在工作,但我得到「連接被拒絕」異常。這很奇怪,但是每當我用Java客戶端測試Socket時,連接在任何具有活動WIFI的地方成功建立。但是,當我嘗試在Android上做同樣的事情時,我得到「連接被拒絕」異常。在Android客戶端拒絕連接
錯誤發生在這裏:
socket = new Socket(SERVERIP, SERVERPORT);
我在清單以下權限:
<uses-permission android:name="android.permission.INTERNET" />
logcat的:
09-24 12:06:43.000: E/ClientSocket(21999): C: Connecting...
09-24 12:06:43.020: E/TCP(21999): C: Error
09-24 12:06:43.020: E/TCP(21999): java.net.ConnectException: /78.47.105.119:2012 - Connection refused
09-24 12:06:43.020: E/TCP(21999): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:207)
09-24 12:06:43.020: E/TCP(21999): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:183)
09-24 12:06:43.020: E/TCP(21999): at java.net.Socket.startupSocket(Socket.java:724)
09-24 12:06:43.020: E/TCP(21999): at java.net.Socket.tryAllAddresses(Socket.java:150)
09-24 12:06:43.020: E/TCP(21999): at java.net.Socket.<init>(Socket.java:209)
09-24 12:06:43.020: E/TCP(21999): at java.net.Socket.<init>(Socket.java:176)
也許我應該在清單中聲明某種特殊或額外的權限?防火牆會導致這個問題嗎?任何方法來解決這個問題?
我正在真實設備上測試它。 – ring0