Java 13 の新しい HttpClient を使用した WebSocket リクエストの送信と応答の処理

王林
リリース: 2023-07-29 12:27:23
オリジナル
1468 人が閲覧しました

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 イベントを処理するための WebSocket.Listener インターフェイスを実装します。 onOpen() メソッドは、WebSocket 接続が開かれたときに呼び出されます。 onText() メソッドは、テキスト メッセージの受信時に呼び出されます。メソッドは、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 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!