【发布时间】:2020-10-17 14:33:21
【问题描述】:
我一直在研究一种方法来限制可以订阅特定 stomp 主题但尚未理解的客户数量,这可能是根据我的需要的正确方法。
我的用例是一个游戏,我正在使用 Angular(ng2-stompjs stomp 客户端)和 Spring Boot Websockets(目前正在使用 Spring in-memory 消息代理)进行开发。
这个想法是用户可以连接并订阅“/大厅”踩踏主题,在那里他可以看到打开的游戏房间,这些房间可能处于不同的状态。例如,由于加入的玩家数量少,进行中或尚未开始。 我想拦截并以编程方式将客户端的可能订阅限制为特定的“/room/{roomId}”主题,如果已达到最大玩家数量,例如 4。也可能有一些简单的客户端验证来限制这一点,但我认为只有客户端是不够的
所以我的主要问题是: Spring中如何拦截特定的stomp主题订阅? 是否可以向客户端请求者返回某种无法完成订阅的错误消息?
非常感谢您的帮助,在此先感谢您!
【问题讨论】:
-
你能提供一个代码sn-p,配置,或者你到目前为止尝试过的。
标签: spring-boot websocket spring-websocket stomp