我的PC上有一个Android应用程序(客户端)和一个服务器应用程序。为了测试与服务器的连接,我需要打开一个新的套接字,其中包含正确的IP地址和服务器正在侦听的端口。
我希望我的客户端应用程序具有测试连接功能。问题是:每当我在服务器未运行时通过套接字打开连接时,android应用程序关闭并显示强制关闭对话框,尽管我确实处理了该异常。那是为什么?
应用程序始终在以下代码的底部try / catch块崩溃:
InetAddress serverAddr=null;
try {
serverAddr = InetAddress.getByName(serverIP);
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
Log.e("TCP","error 1", e);
}
Log.i("TCP", "C: Connecting...");
try {
socket = new Socket(serverAddr, serverPort);
} catch (IOException e) {
// TODO Auto-generated catch block
Log.e("TCP","error 2", e);
}
这里编辑的是日志输出:
error 2 java.net.ConnectException: /192.168.1.101:3000 - Connection refused at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:254)
at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:219)
at java.net.Socket.startupSocket(Socket.java:800)
at java.net.Socket.<init>(Socket.java:316)
at com.jackusz.TCPClient.run(TCPClient.java:56)
at java.lang.Thread.run(Thread.java:1096)