java向指定用户发送消息_Spring Websocket实现向指定的用户发送消息

本文介绍了如何使用Spring Websocket实现向特定用户发送消息的完整流程,包括用户登录验证、自定义Principal、配置WebSocket以及使用SimpMessagingTemplate发送消息。通过测试验证了系统能正确地将消息定向发送给指定用户。
摘要由CSDN通过智能技术生成

概述

本文我们介绍通过Spring websocket实现向特定的用户发送消息。

本文的内容如下:

1. 首先实现简单的登录功能,这里向特定用户发送消息的必要条件

2. 用户登录系统后,才可以登录websocket,并重写MyPrincipal

3. 实现向特定用户发送消息的功能

4. 测试

首先实现简单的登录功能,这是向特定用户发送消息的必要条件

TestMQCtl:控制类

提供模拟登录,登录成功后转到websocket页面

login.jsp

简单的form表单,将请求提到loginIn,并转到ws-sendtouser-rabbitmq.jsp页面

ws-sendtouser-rabbitmq.jsp

连接websocket并订阅消息,这个jsp之前的文章已经介绍过了这里不详细描述。页面通过向/ws/icc/websocket启动websocket,然后订阅/user/topic/demo消息

用户登录系统后,才可以登录websocket,并重写MyPrincipal

AuthHandshakeInterceptor

AuthHandshakeInterceptor是HandshakeInterceptor 的子类。在websocket握手前判断,判断当前用户是否已经登录。如果未登录,则不允许登录websocket

MyPrincipalHandshakeHandler

MyPrincipalHandshakeHandler是DefaultHandshakeHandler 的子类,处理websocket请求,这里我们只重写determine

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值