>  기사  >  Java  >  Java 13의 새로운 HttpClient를 사용하여 WebSocket 요청 보내기 및 응답 처리

Java 13의 새로운 HttpClient를 사용하여 WebSocket 요청 보내기 및 응답 처리

王林
王林원래의
2023-07-29 12:27:231438검색

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 연결을 생성하기 위한 코드 예제입니다. 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

위 코드에서는 먼저 HttpClient 객체를 생성하고 newWebSocketBuilder() 메서드를 호출하여 빌더객체. 그런 다음 WebSocket 서버의 URI를 설정하고 buildAsync() 메서드를 사용하여 WebSocket 객체를 생성합니다. 다음으로 sendText() 메서드를 사용하여 WebSocket 서버에 문자 메시지를 보냅니다. 마지막으로 sendClose() 메서드를 사용하여 WebSocket 연결을 닫습니다. 🎜🎜 WebSocketListener 클래스에서는 WebSocket 이벤트를 처리하기 위해 WebSocket.Listener 인터페이스를 구현합니다. 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.