在Android设备上处理套接字异常导致强制关闭对话框

时间:2011-08-23 13:54:32

标签: android

我的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)

0 个答案:

没有答案