我試圖在Android上打開一個Socket,但每次嘗試時都會收到拒絕連接的錯誤,無論我嘗試什麼方式。Android Socket連接拒絕
錯誤發生在我嘗試創建連接的下面一行代碼中。
Socket socket = new Socket(getLocalIpAddressString(), 8008);
下面是我用它來獲取本地IP地址的方法:
public static String getLocalIpAddressString() {
try {
for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {
NetworkInterface intf = en.nextElement();
for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {
InetAddress inetAddress = enumIpAddr.nextElement();
if (!inetAddress.isLoopbackAddress()) {
return inetAddress.getHostAddress().toString();
}
}
}
} catch (SocketException ex) {
Log.e("IPADDRESS", ex.toString());
}
return null;
}
而錯誤我得到的是:
WARN/System.err(3574): java.net.ConnectException: /192.168.2.163:8008 - Connection refused
WARN/System.err(3574): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:237)
WARN/System.err(3574): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:199)
WARN/System.err(3574): at java.net.Socket.startupSocket(Socket.java:734)
WARN/System.err(3574): at java.net.Socket.<init>(Socket.java:157)
WARN/System.err(3574): at com.networks.phone.engine.SIPEngine.rtpTest(SIPEngine.java:1444)
我相信與我的Ipaddress:顯示和或端口錯誤?但任何人都可以指出我正確的方向,可能是什麼原因?
你可以遠程登錄的地址和端口號,先來看看會發生什麼。它可能是您連接的實際計算機。 – Steve 2010-03-11 14:40:27
我試圖在實際的Android設備上,所以我不知道該telnet會有多大的幫助? – 2010-03-11 14:50:11
這可能是一個愚蠢的問題,但有什麼東西在設備上的端口8008上監聽? – dweebo 2010-03-11 15:38:47