Spring Boot中整合WebSocket

要在Spring Boot中整合WebSocket,需要进行以下步骤:

1.创建一个Spring Boot项目: 

  • 使用Spring Initializr创建一个新的Spring Boot项目。
  • 选择适当的Spring Boot版本和依赖项。
  • 添加WebSocket依赖项,如spring-boot-starter-websocket

 2.创建WebSocket配置类:

  • 创建一个Java类,用于配置WebSocket。
  • 使用@Configuration注解标记该类为配置类。
  • 使用@EnableWebSocket注解启用WebSocket支持。
import org.springframework.context.annotation.Configuration;
import org.springframework.web.socket.config.annotation.EnableWebSocket;
import org.springframework.web.socket.config.annotation.WebSocketConfigurer;
import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry;

@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {

    @Override
    public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
        registry.addHandler(new MyWebSocketHandler(), "/websocket")
                .setAllowedOrigins("*");
    }
}

在上述示例中,我们创建了一个WebSocketConfig类,并实现了WebSocketConfigurer接口。在registerWebSocketHandlers方法中,我们注册了一个自定义的WebSocket处理程序MyWebSocketHandler,并指定了WebSocket的访问路径为/websocket。 

3.创建WebSocket处理程序: 

  • 创建一个Java类,用于处理WebSocket连接和消息。
  • 继承TextWebSocketHandler类,并重写相应的方法。
import org.springframework.web.socket.TextMessage;
import org.springframework.web.socket.WebSocketSession;
import org.springframework.web.socket.handler.TextWebSocketHandler;

public class MyWebSocketHandler extends TextWebSocketHandler {

    @Override
    protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
        // 处理收到的消息
        String receivedMessage = message.getPayload();
        // 发送消息给客户端
        session.sendMessage(new TextMessage("Received: " + receivedMessage));
    }
}

在上述示例中,我们创建了一个MyWebSocketHandler类,并继承了TextWebSocketHandler类。在handleTextMessage方法中,我们处理收到的消息,并发送一个回复消息给客户端。

4.创建WebSocket客户端: 

  • 在前端创建一个WebSocket客户端,用于与后端建立WebSocket连接并发送/接收消息。
const socket = new WebSocket('ws://localhost:8080/websocket');

socket.onopen = function() {
    console.log('WebSocket connection established.');
    socket.send('Hello, WebSocket!');
};

socket.onmessage = function(event) {
    console.log('Received message: ' + event.data);
};

在上述示例中,我们创建了一个WebSocket对象,并指定了WebSocket服务器的URL。在连接建立后,我们发送一条消息给服务器,并在收到消息时进行处理。 

5.运行应用程序: 

  1. 启动Spring Boot应用程序。
  2. 打开浏览器,访问前端页面,查看控制台输出。

通过以上步骤,我们成功地在Spring Boot中整合了WebSocket,并实现了基本的消息收发功能。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一季春秋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值