我在 java 中設定了一個簡單的 http 服務器,它只處理一種型別的 post 請求。
服務器代碼:
int port = 5555;
HttpServer server = HttpServer.create(new InetSocketAddress(port), 0);
System.out.println("server started at " port);
server.createContext("/echoPost", new echoPost());
server.setExecutor(null);
server.start();
echoPost() 類:
public class echoPost implements HttpHandler {
@Override
public void handle(HttpExchange http) throws IOException {
InputStreamReader inputStreamReader = new InputStreamReader(http.getRequestBody(), "utf-8");
BufferedReader bufferReader = new BufferedReader(inputStreamReader);
String incoming = br.readLine();
System.out.println(incoming);
String response = "response";
http.sendResponseHeaders(200, response.length());
OutputStream outputStream = http.getResponseBody();
os.write(response.toString().getBytes());
os.close();
}
}
我希望服務器在收到發布請求后停止。有沒有辦法在處理一個帖子請求服務器停止后立即執行此操作?
uj5u.com熱心網友回復:
call 有什么問題,server.stop(delay)延遲足夠小(0或1)?您需要將server引數作為引數傳遞給echoPost建構式。
uj5u.com熱心網友回復:
采用
System.exit(0);
這行代碼在哪里執行無關緊要,它都會終止JVM并退出。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/432081.html
