Rumah  >  Artikel  >  Java  >  Menghantar permintaan WebSocket dan mengendalikan respons menggunakan HttpClient baharu dalam Java 13

Menghantar permintaan WebSocket dan mengendalikan respons menggunakan HttpClient baharu dalam Java 13

王林
王林asal
2023-07-29 12:27:231439semak imbas

Gunakan HttpClient baharu dalam Java 13 untuk menghantar permintaan WebSocket dan mengendalikan respons

Dengan keluaran Java 11, platform Java mula menyokong API WebSocket asli. Walau bagaimanapun, dalam Java 13, API HttpClient baharu menyediakan cara yang lebih mudah dan mesra pengguna untuk menghantar dan mengendalikan permintaan WebSocket. Dalam artikel ini, kita akan belajar cara menghantar permintaan WebSocket dan mengendalikan respons menggunakan HttpClient baharu dalam Java 13.

Pertama, kita perlu membuat sambungan WebSocket. Dalam Java 13, kita boleh menggunakan kaedah newWebSocketBuilder() kelas HttpClient untuk mencipta sambungan WebSocket. Berikut ialah contoh kod untuk membuat sambungan 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

Dalam kod di atas, kami mula-mula mencipta objek HttpClient dan memanggil kaedah newWebSocketBuilder() untuk mencipta Pembinaobjek. Kemudian, kami menetapkan URI pelayan WebSocket dan mencipta objek WebSocket menggunakan kaedah buildAsync(). Seterusnya, kami menggunakan kaedah sendText() untuk menghantar mesej teks ke pelayan WebSocket. Akhir sekali, kami menutup sambungan WebSocket menggunakan kaedah sendClose(). 🎜🎜Dalam kelas WebSocketListener, kami melaksanakan antara muka WebSocket.Listener untuk mengendalikan acara WebSocket. Kaedah onOpen() dipanggil apabila sambungan WebSocket dibuka, kaedah onText() dipanggil apabila mesej teks diterima dan onClose() Kaedah Dipanggil apabila sambungan WebSocket ditutup, kaedah onError() dipanggil apabila ralat berlaku. 🎜🎜Kini, kami telah mempelajari cara menghantar permintaan WebSocket dan mengendalikan respons menggunakan HttpClient baharu dalam Java 13. Mari kita susun dan jalankan kod di atas untuk melihat cara ia berfungsi. 🎜🎜Ringkasan: 🎜🎜Dalam artikel ini, kami mempelajari cara menggunakan HttpClient baharu dalam Java 13 untuk menghantar permintaan WebSocket dan mengendalikan respons. Dengan menggunakan kaedah newWebSocketBuilder() untuk mencipta sambungan WebSocket dan melaksanakan antara muka WebSocket.Listener untuk mengendalikan acara WebSocket, kami boleh menghantar dan menerima mesej WebSocket dengan mudah. Saya harap artikel ini membantu anda memahami fungsi HttpClient WebSocket baharu dalam Java 13. 🎜

Atas ialah kandungan terperinci Menghantar permintaan WebSocket dan mengendalikan respons menggunakan HttpClient baharu dalam Java 13. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn