socket连接问题,关闭原来的,建另一个IP的socket

我现在有一个socket连接,现在我想停掉他,然后用另一个IP开启socket,求方法
那个,程序运行,只允许有一个socket,然后我这个做的是修改IP之后路,我应该怎么做呢?

断开代码:

            if (socket != null && !socket.isClosed())
            {
                // 先停止在关闭,否则数据丢失
                socket.shutdownInput();
                socket.shutdownOutput();
                socket.close();
            }

连接代码:

    /** 进行网络的连接,在线程中进行的网络的建立 */
    private void SocketConnected(final String address, final int duankou)
    {
        new Thread(new Runnable()
        {
            public void run()
            {
                socket = new Socket();
                DetactionFlag = true;
                try
                {
                    socket.connect(new InetSocketAddress(address, duankou), 5000);
                    // Socket socket = new Socket(ip,port); 用这种方式的话会出现卡机现象
                    // socket.setTimeout(timeout);
                    out = socket.getOutputStream();
                    in = socket.getInputStream();
                    bff = new BufferedReader(new InputStreamReader(in)); // 接受数据的对象

                    // 开启数据读取
                    if (rcvThread == null || !rcvThread.isAlive()) 
                    {
                        rcvThread = new ReceiveThread();
                        rcvThread.start();
                    }
                    // 开启断线重连
                    if (dtctThread == null || !dtctThread.isAlive()) 
                    {
                        dtctThread = new DetactionThread();
                        dtctThread.start();
                    }
                }
                catch (IOException e)
                {
                    e.printStackTrace();
                }

                if (dtctThread == null || !dtctThread.isAlive())
                {
                    // 开启断线重连
                    dtctThread = new DetactionThread();
                    dtctThread.start();
                }
            }
        }).start();
    }

个人建议做一个socket连接池

那个,程序运行,只允许有一个socket,然后我这个做的是修改IP之后路,我应该怎么做呢?