Spring WebSocket 是一个强大的框架,用于在 Java 应用程序中实现 WebSocket 功能。本文将为您提供一个基础的 Spring WebSocket 教程。

基础概念

WebSocket 提供了一种在单个 TCP 连接上进行全双工通讯的协议。相比传统的 HTTP 请求,WebSocket 可以实现更高效的实时通信。

快速开始

以下是一个简单的 Spring WebSocket 应用程序示例:

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {

    @Override
    public void configureMessageBroker(MessageBrokerRegistry config) {
        config.enableSimpleBroker("/topic");
        config.setApplicationDestinationPrefixes("/app");
    }

    @Override
    public void registerStompEndpoints(StompEndpointRegistry registry) {
        registry.addEndpoint("/ws").withSockJS();
    }
}

通信示例

以下是一个简单的客户端和服务器端通信示例:

@Controller
@EnableWebSocketMessageBroker
public class WebSocketController {

    @MessageMapping("/hello")
    @SendTo("/topic/greetings")
    public String greeting(HelloMessage message) throws Exception {
        Thread.sleep(1000); // 模拟异步处理
        return "Hello, " + message.getName() + "!";
    }
}

图片示例

Spring WebSocket 示例

扩展阅读

更多关于 Spring WebSocket 的信息,请访问本站 Spring WebSocket 教程

# Spring WebSocket Tutorial

Spring WebSocket is a powerful framework for implementing WebSocket functionality in Java applications. This article provides a basic Spring WebSocket tutorial.

## Basic Concepts

WebSocket provides a protocol for full-duplex communication over a single TCP connection. Compared to traditional HTTP requests, WebSocket enables more efficient real-time communication.

## Quick Start

Here is an example of a simple Spring WebSocket application:

```java
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {

    @Override
    public void configureMessageBroker(MessageBrokerRegistry config) {
        config.enableSimpleBroker("/topic");
        config.setApplicationDestinationPrefixes("/app");
    }

    @Override
    public void registerStompEndpoints(StompEndpointRegistry registry) {
        registry.addEndpoint("/ws").withSockJS();
    }
}

Communication Example

Here is a simple client-server communication example:

@Controller
@EnableWebSocketMessageBroker
public class WebSocketController {

    @MessageMapping("/hello")
    @SendTo("/topic/greetings")
    public String greeting(HelloMessage message) throws Exception {
        Thread.sleep(1000); // Simulate asynchronous processing
        return "Hello, " + message.getName() + "!";
    }
}

Image Example

Spring WebSocket Example

Further Reading

For more information about Spring WebSocket, please visit our Spring WebSocket Tutorial.