实现思路
1,给用户表添加一个标识字段,用来表示是否被禁言
2,每个用户在建立连接的的时候(onOpen),将每个用户所对应的对象存入ConcurrentHashMap内,key设置为,(或者其他的唯一约束)。用户id+直播房间号,并将用户的是否被禁言状态存入全局变量中。
3,在发送消息(onMessage)判断用户是否被禁言,是则,不发消息。
5,单独写一个针对后台操作直播的controller,传参:userId和liveID
4,在service层,修改user表的禁言状态,然后关闭socket
引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
配置
@Configuration
public class WebSocketConfig {
/**
* ServerEndpointExporter 作用
* <p>
* 这个Bean会自动注册使用@ServerEndpoint注解声明的websocket endpoint
*
* @return
*/
@Bean
public ServerEn