私は、ユーザーからのソケット要求を処理し、応答を送信するJavaソケットAPIアプリケーションを持っています。 私はコンフィギュラを持っている:私は、ユーザーへの応答を送信するとspring socket/queue/private/* destinationへのサブスクリプションを防ぐ方法。
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {
private static final Logger LOGGER = Logger.getLogger(WebSocketConfig.class);
@Override
public void configureMessageBroker(MessageBrokerRegistry config) {
config.enableSimpleBroker("/queue");
config.setApplicationDestinationPrefixes("/server_in");
config.setUserDestinationPrefix("/user");
}
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/websocket").withSockJS();
}
}
私は次のようにします。クライアントで this.simpMessagingTemplate.convertAndSend("/queue/private/user_"+secret_key, socketResponse);
私は次のコードを持っている:
sc.subscribe('/queue/private/user_'+secret_key, function (greeting) {
console.log(greeting.body);
});
をし、応答が処理されます成功しました。 しかし、問題は、他のユーザーが "/ queue/private/*"宛先にサブスクライブしてプライベートメッセージを処理できることです。
sc.subscribe('/queue/private/*', function (greeting) {
console.log(greeting.body);
});
どのようにすればこのような行動をとることができますか?あなたは、各ユーザがソケットを持っているとだけ彼にメッセージを取得したい場合は