怎么在SpringBoot中利用WebSocket实现一个群聊功能

  介绍

本篇文章为大家展示了怎么在SpringBoot中利用WebSocket实现一个群聊功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

消息群发

创建新项目:

添加依赖:

& lt; dependency>   ,,& lt; groupId> org.springframework.boot   ,,& lt; artifactId> spring-boot-starter-web   & lt;才能/dependency>   & lt;才能dependency>   ,,& lt; groupId> org.springframework.boot   ,,& lt; artifactId> spring-boot-starter-websocket   & lt;才能/dependency>   & lt;才能dependency>   ,,& lt; groupId> org.webjars   ,,& lt; artifactId> sockjs-client   ,,& lt; version> 1.1.2   & lt;才能/dependency>   & lt;才能dependency>   ,,& lt; groupId> org.webjars   ,,& lt; artifactId> jquery   ,,& lt; version> 3.3.1   & lt;才能/dependency>   & lt;才能dependency>   ,,& lt; groupId> org.webjars   ,,& lt; artifactId> stomp-websocket   ,,& lt; version> 2.3.3   & lt;才能/dependency>   & lt;才能dependency>   ,,& lt; groupId> org.webjars   ,,& lt; artifactId> webjars-locator-core   & lt;/dependency>

创建WebSocket配置类:WebSocketConfig

@ configuration   @EnableWebSocketMessageBroker//注解开启webSocket消息代理   public  class  WebSocketConfig  implements  WebSocketMessageBrokerConfigurer  {/* *   *,才能配置webSocket代理类   *,才能@param 注册表   ,*/,@Override   ,public  void  configureMessageBroker (MessageBrokerRegistry 注册表),{   registry.enableSimpleBroker才能(“/topic");,,//代理消息的前缀   registry.setApplicationDestinationPrefixes才能(“/app");,,,//处理消息的方法前缀   ,}   ,@Override   ,public  void  registerStompEndpoints (StompEndpointRegistry 注册表),{   registry.addEndpoint才能(“/chat") .withSockJS();,,,//定义一个/聊天前缀的endpioint,用来连接   ,}   }

创建Bean

/* *   ,*群消息类   ,*/public  class  Message  {   ,private  String 名称;   ,private  String 内容;//省略getter& setter   }

定义控制器的方法:

/* *   *,才能MessageMapping接受前端发来的信息   *,才能SendTo 发送给信息WebSocket消息代理,进行广播   *,才能@param  message 页面发来的json数据封装成自定义Bean   *,才能@return 返回的数据交给WebSocket进行广播   *,才能@throws 例外   ,*/,@MessageMapping (“/hello")   ,@SendTo(“/主题/greetings")   ,public  Message 问候(Message 消息),throws  Exception  {   return 才能;信息;   以前,}
 & lt; html  lang=癳n"比;
  & lt; head>
  ,& lt; meta  charset=癠TF-8"比;
  ,& lt; title> Title
  https://www.yisu.com/zixun/, & lt; script  src="/webjars/jquery/jquery.min.js”>