springboot 集成 websocket 以及 Android UI 界面操作

本文介绍了如何使用SpringBoot集成WebSocket创建聊天室。通过创建用户集合并转发消息,利用WebSocket的主动推送特性。还涉及到了拦截器用于处理连接请求和用户信息。尽管目前仅支持文字转发,但可以通过先上传图片再转发链接的方式解决。文章提供了运行示例和截图。
摘要由CSDN通过智能技术生成

Websocket 实现聊天室的功能

首先我们要有查询spring.io的习惯, 官方文档很权威

聊天室,无非就是创建一个集合保存每个用户信息然后转发等, 当然websocket还有一个核心优点,就是主动推送。好了废话不多说代码整起。

@Component
@RestController
public class HttpAuthHandler extends TextWebSocketHandler {
    /**
     * socket 建立成功事件
     *
     * @param session
     * @throws Exception
     */
    @Override
    public void afterConnectionEstablished(WebSocketSession session) throws Exception {
        Object token = session.getAttributes().get("token");
        if (token != null) {
            // 用户连接成功,放入在线用户缓存
            WsSessionManager.add(token.toString(), session);
        } else {
            throw new RuntimeException("用户登录已经失效!");
        }
    }
    /**
     * 接收消息事件
     *
     * @param session
     * @param message
     * @throws Exception
     */
    @Override
    protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
        // 获得客户端传来的消息
        String payload = message.getPayload();
        Object token = session.getAttributes().get("token");
        LoggerUtils.showInfoLog("server 接收到 " + token + " 发送的 " + payload);
        //{"cfrom":"aaa", "cto": "bbb", "cdata": "今天去哪玩", &
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值