gpt4 book ai didi

java - Spring Websocket : How to validate message and receive clients?

转载 作者:行者123 更新时间:2023-12-02 02:21:00 26 4
gpt4 key购买 nike

我已经配置了 Spring WebSockets 并正在运行。客户端订阅特定主题(例如 /topic/contract/contract_id),只要有该合约/主题的消息,他们就会收到它。

问题是发送到此主题的某些类型的消息是敏感的,只能由某些客户端接收,而其他客户端则不能接收。因此,我需要在发送消息时分析正在发送的消息、订阅接收消息的客户端,并让某些客户端通过,但不让其他客户端通过。有没有办法在 Spring WebSockets 中做到这一点?

最佳答案

听起来您正在使用 Pub/Sub 模式。我不是 Spring Web Sockets 方面的专家,但这听起来像是一个更高抽象层面的困境,而不是数据传输层面的困境。

您可以做两件事:

  • 要么一开始就禁止特定客户端订阅 channel ,但听起来有些消息已发送,有些则没有。因此我推荐第二种选择:
  • 维护公共(public)(类似团体)和私有(private) channel 。

在第一种情况下,只需拦截订阅期间调用的端点或服务,并抛出安全异常或以某种方式进行不允许的连接。

在第二种情况下, channel 名称有一个唯一的强ID,只有相关人员知道,他们可以收听私有(private)消息。

我有过第二种情况的经验,它运行得很好,尽管我们没有关键信息,因为它是游戏的一部分,所以只有一个玩家可以收到该消息,而不是整个组。

关于java - Spring Websocket : How to validate message and receive clients?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57275345/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com