Heim  >  Artikel  >  Java  >  Senden von WebSocket-Anfragen und Verarbeiten von Antworten mit dem neuen HttpClient in Java 13

Senden von WebSocket-Anfragen und Verarbeiten von Antworten mit dem neuen HttpClient in Java 13

王林
王林Original
2023-07-29 12:27:231509Durchsuche

Verwenden Sie den neuen HttpClient in Java 13, um WebSocket-Anfragen zu senden und Antworten zu verarbeiten.

Mit der Veröffentlichung von Java 11 begann die Java-Plattform, die native WebSocket-API zu unterstützen. In Java 13 bietet die neue HttpClient-API jedoch eine einfachere und benutzerfreundlichere Möglichkeit, WebSocket-Anfragen zu senden und zu verarbeiten. In diesem Artikel erfahren Sie, wie Sie WebSocket-Anfragen senden und Antworten mit dem neuen HttpClient in Java 13 verarbeiten.

Zuerst müssen wir eine WebSocket-Verbindung erstellen. In Java 13 können wir die Methode newWebSocketBuilder() der Klasse HttpClient verwenden, um eine WebSocket-Verbindung zu erstellen. Das Folgende ist ein Codebeispiel zum Erstellen einer WebSocket-Verbindung: 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.Listenerrrreee

Im obigen Code erstellen wir zunächst ein HttpClient-Objekt und rufen die Methode newWebSocketBuilder() auf, um ein zu erstellen Builder-Objekt. Dann legen wir den URI des WebSocket-Servers fest und erstellen ein WebSocket-Objekt mit der Methode buildAsync(). Als Nächstes verwenden wir die Methode sendText(), um eine Textnachricht an den WebSocket-Server zu senden. Abschließend schließen wir die WebSocket-Verbindung mit der Methode sendClose(). 🎜🎜In der Klasse WebSocketListener implementieren wir die Schnittstelle WebSocket.Listener, um WebSocket-Ereignisse zu verarbeiten. Die Methode onOpen() wird aufgerufen, wenn die WebSocket-Verbindung geöffnet wird, die Methode onText() wird aufgerufen, wenn eine Textnachricht empfangen wird, und die Methode onClose() -Methode Wird aufgerufen, wenn die WebSocket-Verbindung geschlossen wird, die onError()-Methode wird aufgerufen, wenn ein Fehler auftritt. 🎜🎜Jetzt haben wir gelernt, wie man WebSocket-Anfragen sendet und Antworten mit dem neuen HttpClient in Java 13 verarbeitet. Lassen Sie uns den obigen Code kompilieren und ausführen, um die Ergebnisse zu sehen. 🎜🎜Zusammenfassung: 🎜🎜In diesem Artikel haben wir gelernt, wie man den neuen HttpClient in Java 13 verwendet, um WebSocket-Anfragen zu senden und Antworten zu verarbeiten. Durch die Verwendung der Methode newWebSocketBuilder() zum Erstellen einer WebSocket-Verbindung und die Implementierung der Schnittstelle WebSocket.Listener zur Verarbeitung von WebSocket-Ereignissen können wir problemlos WebSocket-Nachrichten senden und empfangen. Ich hoffe, dieser Artikel hilft Ihnen dabei, die neue HttpClient WebSocket-Funktionalität in Java 13 zu verstehen. 🎜

Das obige ist der detaillierte Inhalt vonSenden von WebSocket-Anfragen und Verarbeiten von Antworten mit dem neuen HttpClient in Java 13. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn