基于WebSocket模拟直播间评论的实现

平台奖励创作,可能会升级VIP文章,可以移步我的公众号:【编程朝花夕拾】,且可获取首发内容。

01 引言

之前探索了一下直播间实时评论的的背后技术,这一节,我们将选用最经典的WebSocket的模拟这一功能的实现。

WebSocket可以基于Netty实现,也可以基于Springboot实现。本节使用Springboot自带的WebSocket实现。

02 Maven依赖的引入

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

<!-- 编写页面使用 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<!-- 序列化对象工具类 -->
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2</artifactId>
</dependency>

03 直播间实时评论模拟实战

下来我们将一步步搭建WebSocket,实现模拟直播间。具体的使用可以参见官方的文档说明:

https://docs.spring.io/spring-framework/docs/5.3.31/reference/html/web.html#websocket-server

3.1 创建WebSocket处理器

官方案例给的比较简单,我们来实现属于我们自己的处理器。

  • ① 建立连接,保存当前的客户端
  • ② 处理文本消息
  • ③ 连接关闭后,删除当前客户端
  • ④ 模拟敏感词处理-

建立连接

@Override
public void afterConnectionEstablished(WebSocketSession session) throws Exception {
   
   
    log.info("链接建立成功......");
    String sessionId = session.getId();
    WebSocketSession webSocketSession = SESSION_MAP.get(sessionId);
    if (webSocketSession == null) {
   
   
        SESSION_MAP.put(sessionId, session);
    }

    // 发送消息
    noticeClient(session, sessionId.substring(0, 5) + "*** 进入了直播间");
}

接收消息

@Override
protected void handleTextMessage(WebSocketSession session, TextMessage message) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智_永无止境

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值