Spring 4.x で、ユーザーが自分の stomp ブローカーに対して Websocket を開いていることを追跡する必要があります。ストンプ エンドポイントは、通常の方法で構成されます。
@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");
}
}
SessionConnectEvent SessionConnectedEvent を受信するために ApplicationListener インターフェイスを実装しようとしましたが、これらのイベントからリモート ホストの IP を取得できません。
サービスに接続しているクライアントの IP を取得するにはどうすればよいですか?
私の目標は、同じ IP から websocket ハンドラーへの接続数を制限することです。