Spring Boot 整合WebSocket

文章目录

    • 1.WebSocket介绍
    • 2.SpringBoot结合WebSocket
    • 11-03 在线私聊

1.WebSocket介绍

Spring Boot 结合 WebSocket 实现在线聊天:https://mp.weixin.qq.com/s/Rrj7oco3K8kJBsTxEEdz9g
WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。
Spring Boot 整合WebSocket_第1张图片
为什么需要 WebSocket?
初次接触 WebSocket 的人,都会问同样的问题:我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处?

答案很简单,因为 HTTP 协议有一个缺陷:通信只能由客户端发起,HTTP 协议做不到服务器主动向客户端推送信息。

https://blog.csdn.net/moshowgame/article/details/80275084

2.SpringBoot结合WebSocket

群聊,不存在用户信息
依赖:web,socket
web-jar:在SSM,想使用前端库也可以像依赖一样添加到
https://mvnrepository.com/
https://mvnrepository.com/artifact/org.webjars/sockjs-client/1.1.2
sockjs-client

<!-- https://mvnrepository.com/artifact/org.webjars/sockjs-client -->
<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>sockjs-client</artifactId>
    <version>1.1.2</version>
</dependency>

STOMP WebSocket » 2.3.3
JQuery » 3.5.1
Webjars Locator Core » 0.46(用来定位这些jar应该在哪里找)

HTTP状态码之101:https://juejin.cn/post/6844903959023321101

@Configuration
@EnableWebSocketMessageBroker//开启允许websocket代理
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
   

    @Override
    public void configureMessageBroker(MessageBrokerRegistry registry) {
   
        //配置消息代理:设置消息代理的前缀,如果发送的消息的前缀是/topic,则会将这个消息转发给消息代理Broker,消息代理再广播给所有连上来的客户端
        //服务端广播的时候,消息前缀为topic
        //registry.enableSimpleBroker("/topic");//群发
        //也可以自己转发消息
        //定义消息前缀
        //registry.setApplicationDestinationPrefixes("/app")
        registry.enableSimpleBroker

你可能感兴趣的:(java,websocket)