Maison >Java >javaDidacticiel >Envoi de requêtes WebSocket et gestion des réponses à l'aide du nouveau HttpClient dans Java 13

Envoi de requêtes WebSocket et gestion des réponses à l'aide du nouveau HttpClient dans Java 13

王林
王林original
2023-07-29 12:27:231544parcourir

Utilisez le nouveau HttpClient dans Java 13 pour envoyer des requêtes WebSocket et gérer les réponses

Avec la sortie de Java 11, la plate-forme Java commence à prendre en charge l'API WebSocket native. Cependant, dans Java 13, la nouvelle API HttpClient offre un moyen plus simple et plus facile à utiliser d'envoyer et de gérer les requêtes WebSocket. Dans cet article, nous apprendrons comment envoyer des requêtes WebSocket et gérer les réponses à l'aide du nouveau HttpClient dans Java 13.

Tout d'abord, nous devons créer une connexion WebSocket. En Java 13, nous pouvons utiliser la méthode newWebSocketBuilder() de la classe HttpClient pour créer une connexion WebSocket. Voici un exemple de code pour créer une connexion WebSocket : 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

Dans le code ci-dessus, nous créons d'abord un objet HttpClient et appelons la méthode newWebSocketBuilder() pour créer un Objet Builder. Ensuite, nous définissons l'URI du serveur WebSocket et créons un objet WebSocket à l'aide de la méthode buildAsync(). Ensuite, nous utilisons la méthode sendText() pour envoyer un message texte au serveur WebSocket. Enfin, nous fermons la connexion WebSocket en utilisant la méthode sendClose(). 🎜🎜Dans la classe WebSocketListener, nous implémentons l'interface WebSocket.Listener pour gérer les événements WebSocket. La méthode onOpen() est appelée à l'ouverture de la connexion WebSocket, la méthode onText() est appelée à la réception d'un message texte et la méthode onClose() Méthode Appelée à la fermeture de la connexion WebSocket, la méthode onError() est appelée lorsqu'une erreur survient. 🎜🎜Maintenant, nous avons appris à envoyer des requêtes WebSocket et à gérer les réponses à l'aide du nouveau HttpClient de Java 13. Compilons et exécutons le code ci-dessus pour voir les résultats. 🎜🎜Résumé : 🎜🎜Dans cet article, nous avons appris à utiliser le nouveau HttpClient dans Java 13 pour envoyer des requêtes WebSocket et gérer les réponses. En utilisant la méthode newWebSocketBuilder() pour créer une connexion WebSocket et en implémentant l'interface WebSocket.Listener pour gérer les événements WebSocket, nous pouvons facilement envoyer et recevoir des messages WebSocket. J'espère que cet article vous sera utile pour comprendre la nouvelle fonctionnalité HttpClient WebSocket dans Java 13. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn