使用Java 13中的新的HttpClient發送WebSocket請求和處理回應
#隨著Java 11的發布,Java平台開始支援原生的WebSocket API。然而,在Java 13中,新的HttpClient API提供了更簡單、更易於使用的方式來傳送和處理WebSocket請求。在本篇文章中,我們將學習如何使用Java 13中的新的HttpClient發送WebSocket請求和處理回應。
首先,我們需要建立一個WebSocket連線。在Java 13中,我們可以使用HttpClient
類別的newWebSocketBuilder()
方法來建立WebSocket連線。以下是建立WebSocket連接的程式碼範例:
import java.net.URI; import java.net.http.HttpClient; import java.net.http.WebSocket; import java.net.http.WebSocket.Builder; public class WebSocketClient { public static void main(String[] args) { HttpClient client = HttpClient.newHttpClient(); WebSocket.Builder builder = client.newWebSocketBuilder(); // 设置WebSocket服务器的URI URI uri = URI.create("ws://localhost:8080/websocket"); // 创建WebSocket连接 WebSocket ws = builder.buildAsync(uri, new WebSocketListener()).join(); // 发送消息到WebSocket服务器 ws.sendText("Hello, WebSocket!"); // 关闭WebSocket连接 ws.sendClose(WebSocket.NORMAL_CLOSURE, "Done"); } static class WebSocketListener implements WebSocket.Listener { @Override public void onOpen(WebSocket webSocket) { System.out.println("Connected to server"); } @Override public CompletionStage<?> onText(WebSocket webSocket, CharSequence data, boolean last) { System.out.println("Received message: " + data); return null; } @Override public CompletionStage<?> onClose(WebSocket webSocket, int statusCode, String reason) { System.out.println("Closed: " + statusCode + " " + reason); return null; } @Override public void onError(WebSocket webSocket, Throwable error) { System.out.println("Error: " + error.getMessage()); } } }
在上面的程式碼中,我們首先建立了一個HttpClient
對象,並呼叫newWebSocketBuilder()
方法建立了一個Builder
物件。然後,我們設定WebSocket伺服器的URI,並使用buildAsync()
方法建立了一個WebSocket
物件。接下來,我們使用sendText()
方法發送一條文字訊息到WebSocket伺服器。最後,我們使用sendClose()
方法關閉WebSocket連線。
在WebSocketListener
類別中,我們實作了WebSocket.Listener
介面來處理WebSocket的事件。 onOpen()
方法在WebSocket連接打開時被調用,onText()
方法在接收到文字訊息時被調用,onClose()
方法在WebSocket連接關閉時被調用,onError()
方法在發生錯誤時被調用。
現在,我們已經學會如何使用Java 13中的新的HttpClient發送WebSocket請求和處理回應。讓我們來編譯並運行上面的程式碼,看看它的運行結果。
總結:
在本篇文章中,我們學習如何使用Java 13中的新的HttpClient發送WebSocket請求和處理回應。透過使用newWebSocketBuilder()
方法建立WebSocket連接,並實作WebSocket.Listener
介面來處理WebSocket的事件,我們可以輕鬆地傳送和接收WebSocket訊息。希望這篇文章對你理解Java 13中的新的HttpClient的WebSocket功能有所幫助。
以上是使用Java 13中的新的HttpClient發送WebSocket請求和處理回應的詳細內容。更多資訊請關注PHP中文網其他相關文章!