Java是一種十分強大的編程語言,可用于開發各種類型的應用程序。其中,網絡編程是Java中的重要部分,本文將介紹Java如何監聽TCP和HTTP。
TCP是一種可靠的面向連接的傳輸協議,可用于建立持久的網絡連接。Java可使用ServerSocket類來創建一個TCP監聽器,代碼如下:
try { ServerSocket serverSocket = new ServerSocket(8080); Socket socket = serverSocket.accept(); } catch (IOException e) { e.printStackTrace(); }
上述代碼創建了一個監聽端口為8080的ServerSocket對象,并使用accept()方法等待客戶端連接。在客戶端連接之后,該方法將返回一個Socket對象。
HTTP是一種基于TCP的協議,用于在Web應用程序中傳輸數據和資源。在Java中,可通過創建一個HTTP服務器來監聽HTTP請求。代碼如下:
try { HttpServer server = HttpServer.create(new InetSocketAddress(8080), 0); server.createContext("/", new MyHandler()); server.setExecutor(null); server.start(); } catch (IOException e) { e.printStackTrace(); } static class MyHandler implements HttpHandler { public void handle(HttpExchange t) throws IOException { String response = "Hello World!"; t.sendResponseHeaders(200, response.getBytes().length); OutputStream os = t.getResponseBody(); os.write(response.getBytes()); os.close(); } }
上述代碼創建了一個監聽端口為8080的HttpServer對象,并在根路徑下注冊了一個句柄(MyHandler類)。當有HTTP請求到來時,該句柄將被調用,輸出“Hello World!”作為響應。