1

我是java新手。我用一个按钮启动我的服务器

    JButton startServerButton = new JButton("Start");
    startServerButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            if (e.getActionCommand().equals("Start")) {
                Runnable serverRunnable = new Runnable() {
                    public void run() {
                        runServer();
                    }
                };
                Thread serverThread = new Thread(serverRunnable);
                serverThread.start();
            }
        }
    });

我想用一个按钮关闭它

    JButton endServerButton = new JButton("End");
    endServerButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            if (e.getActionCommand().equals("End")) {
                closeConnection();
            }
        }
    });

但关闭按钮不起作用......请帮忙!这是关闭功能

private void closeConnection() {
    displayMessage("\nTerminating connection\n");
    try {
        output.close();
        input.close();
        connection.close();

    } catch (IOException ioException) {
        ioException.printStackTrace();
    }
4

1 回答 1

0

尝试以下选项:

1)End操作放在一个新线程中,然后关闭Start线程的 IO 和套接字连接。(意味着从另一个线程关闭第一个线程套接字连接)

2)End操作线程中,设置Start thread'socket timeout。

问候,

于 2013-04-20T01:29:15.683 回答