закрыть соединение httpserver, нажав на кнопку в Java - PullRequest
0 голосов
/ 23 сентября 2018

Я написал httpServer в javafx, создал кнопку в пользовательском интерфейсе с именем startserver , сервер запускается при нажатии этой кнопки, как я могу закрыть соединение через сокет, нажав на ту же кнопку

@FXML
private void handleButtonAction(ActionEvent event) {
    try {
        HttpServer httpServer = HttpServer.create(new InetSocketAddress(8080), 0);
        httpServer.createContext("/", new myhttpHandler());
        httpServer.setExecutor(null);
        httpServer.start();
    } catch (IOException ex) {
        Logger.getLogger(FXMLDocumentController.class.getName()).log(Level.SEVERE, null, ex);
    }

}

static class myhttpHandler implements HttpHandler {

    @Override
    public void handle(HttpExchange he) throws IOException {

        String requestMethod = he.getRequestMethod();
        if (requestMethod.equalsIgnoreCase("GET")) {

            int responseCode_OK = 200;
            String response = " my http server working ";
            he.sendResponseHeaders(responseCode_OK, response.length());
            OutputStream outputStream = he.getResponseBody();
            outputStream.write(response.getBytes());
            outputStream.close();
        }
        he.close();
    }

1 Ответ

0 голосов
/ 23 сентября 2018

Если вам нужно начать и прекратить использовать одну и ту же кнопку, возможно, кнопка ToggleButton будет вам полезнее.Вы можете проверить состояние переключения, запускать или останавливать HttpServer.

В противном случае вам нужно будет проверить, работает ли сервер.

boolean isRunning ...
if (isRunning) {
    httpServer.stop();
} else {
    httpServer.start();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...