我需要跟踪在 Spring 4.x 中向我的 stomp 代理打开 websocket 的用户。stomp 端点以通常的方式配置:
@Configuration
@EnableWebSocketMessageBroker
public class StompWebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/stomp");
}
@Override
public void configureMessageBroker(MessageBrokerRegistry registry) {
registry.setApplicationDestinationPrefixes("/app")
.enableSimpleBroker("/queue", "/topic");
}
}
我尝试实现 ApplicationListener 接口以接收 SessionConnectEvent SessionConnectedEvent 但我无法从这些事件中获取远程主机 ip。
我应该如何让客户端的 ip 连接到我的服务?
我的目标是限制从同一个 ip 到我的 websocket 处理程序的连接数。