WebSocket怎么在SpringBoot项目中自动推送消息到前端?

博主因音视频通讯需求,需前端不断获取后端接口数据判断对方是否挂断。最初考虑前端轮训,后因浪费资源选用新技术。因系统用户量不大,最终选择用Websocket实现。介绍了添加maven依赖、创建功能类,后端定时查询并发送数据,前端获取消息的实现过程。

        最近有一个音视频通讯的需求,需要前端不断获取后端的接口数据,来判断对方是否挂断。最开始想的办法是前端做轮训,每3秒一次,后来觉得又蠢又浪费资源,果断选用新的技术了。然后了解到这部分内容是属于MQ的范畴,轻量级数据就用websocket,量大了就上kafka(每秒1000条数据就算量大)。因为我这系统用户量不大,所以最后就选了websocket实现。

1.添加maven依赖

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

2.创建功能类

@ServerEndpoint("/ws")
@Component
@Slf4j
public class WebSocketServer111 {
    //准备一个内部安全的集合 存放所有用户的websocket服务
    private static CopyOnWriteArraySet<WebSocketServer111> wsset =  new CopyOnWriteArraySet<>();
    private Session session;

    @OnOpen
    public void opOpen(Session session, @PathParam("bureauCode") String bureauCode
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值