SpringBoot使用WebSocket实现即时消息

Spring Boot和WebSocket来实现即时消息的基本步骤:

一、添加Spring Boot WebSocket依赖:

在项目的 pom.xml 文件中添加 Spring Boot WebSocket 的依赖项。

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-websocket</artifactId>
</dependency>

二、创建WebSocket配置类:

创建一个WebSocket配置类,通常是一个带有@Configuration注解的类,并继承自 WebSocketConfigurer 或 AbstractWebSocketMessageBrokerConfigurer

@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {
   @Override
   public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
      registry.addHandler(myWebSocketHandler(), "/ws").setAllowedOrigins("*");
   }

   @Bean
   public WebSocketHandler myWebSocketHandler() {
      return new MyWebSocketHandler();
   }
}

三、创建WebSocket处理器:

创建一个WebSocket处理器类,实现 WebSocketHandler 接口,处理WebSocket的消息和连接。

public class MyWebSocketHandler extends TextWebSocketHandler {
   @Override
   protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
      // 处理收到的文本消息
      String payload = message.getPayload();
      session.sendMessage(new TextMessage("Received: " + payload));
   }
}

四、在Controller中处理WebSocket连接:

在你的Controller中添加一个方法来处理WebSocket连接的握手请求。

@Controller
public class WebSocketController {
   @GetMapping("/websocket")
   public String getWebSocketPage() {
      return "websocket.html";  // 返回WebSocket页面
   }
}

五、创建WebSocket页面:

在resources/static目录下创建一个WebSocket页面(比如websocket.html),用于展示WebSocket连接和发送消息。

<!DOCTYPE html>
<html>
   <head>
      <title>WebSocket Example</title>
      <script>
         var socket = new WebSocket("ws://" + window.location.host + "/ws");

         socket.onopen = function() {
            console.log("WebSocket连接已打开");
         };

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

         socket.onclose = function() {
            console.log("WebSocket连接已关闭");
         };

         function send() {
            var message = document.getElementById("message").value;
            socket.send(message);
         }
      </script>
   </head>
   <body>
      <input type="text" id="message" />
      <button onclick="send()">发送</button>
   </body>
</html>

六、运行应用程序:

启动Spring Boot应用程序,并访问 http://localhost:8080/websocket 来打开WebSocket页面。 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值