正常的例子都是创建连接抛出异常,现在希望忽略异常继续尝试创建连接,直到创建成功 应该怎么写 多谢!

解决方案 »

  1.   


       public class Client extends Thread {
           private boolean connect() {
            boolean ret = false;
            try {
                if (socket == null) {
                    int port = 555
                    socket = new Socket(serverip, port);
                    socket.setTcpNoDelay(true);
                    socket.setSoLinger(true, 1);
                    socket.setSoTimeout(0);
                    socket.setKeepAlive(false);
                    socket.setReceiveBufferSize(10240);
                    log.info("[connect to server ok port]: " + socket.getLocalPort());
                    isConnected = true;
                }
            } catch (Exception ex) {
                ret = false;
                log.info("[connect to server error]:\r\n" + ex.getMessage());
            } 
            return ret;
        }
     public void run() {
           //检查心跳
            while (!isShutdown) {
                try {
                    if (socket == null) {
                        if (!connect()) {
                            isConnected = false;
                            Thread.sleep(5000);                        
                            continue;
                        } else {
                            //登录成功
                        }
                    }
                 ..................
       }
      

  2.   


    public class Client extends Thread { 
          private boolean connect() { 
            boolean ret = false; 
            try { 
                if (socket == null) { 
                    int port = 555 
                    socket = new Socket(serverip, port); 
                    socket.setTcpNoDelay(true); 
                    socket.setSoLinger(true, 1); 
                    socket.setSoTimeout(0); 
                    socket.setKeepAlive(false); 
                    socket.setReceiveBufferSize(10240); 
                    log.info("[connect to server ok port]: " + socket.getLocalPort()); 
                    isConnected = true; 
                } 
            } catch (Exception ex) { 
                ret = false; 
                log.info("[connect to server error]:\r\n" + ex.getMessage()); 
            } 
            return ret; 
        } 
    public void run() { 
          //检查心跳 
            while (!isShutdown) { 
                try { 
                    if (socket == null) { 
                        if (!connect()) { 
                            isConnected = false; 
                            Thread.sleep(5000);                        
                            continue; 
                        } else { 
                            //登录成功 
                        } 
                    } 
                .................. 
      }