我需要跟踪用户在Spring 4.x中打开websocket到我的stomp broker的情况。 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处理程序。