Веб-сокеты: можно ли добавить несколько конечных точек с помощью SockJS?

Я хочу создать 2 конечные точки веб-сокетов. Можете ли вы сказать, это возможно?

Какой должна быть конфигурация в этом случае?


person abcd    schedule 06.10.2014    source источник


Ответы (1)


В вашем вопросе четко не указано, используете ли вы простые веб-сокеты или обмен сообщениями STOMP.

Простой API веб-сокетов

Если вы используете простой API веб-сокетов, API реестра позволяет вам добавьте столько обработчиков веб-сокетов, сколько хотите.

@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {

    @Override
    public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
        registry.addHandler(myFirstHandler(), "/myHandler1").withSockJS();
        registry.addHandler(mySecondHandler(), "/myHandler2").withSockJS();
    }

    @Bean
    public WebSocketHandler myFirstHandler() {
        return new MyFirstHandler();
    }

    @Bean
    public WebSocketHandler mySecondHandler() {
        return new MySecondHandler();
    }

}

Конечные точки STOMP

Если вы используете STOMP и хотите добавить несколько конечных точек STOMP, API также позволяет вам это сделать (метод addEndpoint принимает String vararg):

@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
    registry.addEndpoint("/foo", "/bar").withSockJS();
}
person Brian Clozel    schedule 06.10.2014
comment
отредактировал мой ответ - пожалуйста, уточните свой вопрос, если это не отвечает на ваш вопрос. - person Brian Clozel; 06.10.2014
comment
Скажем, у нас есть два текстовых поля, и каждое из них заполняется из разных источников. Возможно ли иметь Single WebSocketConnection, который инициируется после входа пользователя в систему и имеет несколько каналов/конечных точек, на которые пользователь может подписаться? - person Amit_Hora; 16.06.2016
comment
Привет @BrianClozel, я реализую модуль «Опубликовать и комментировать», сколько каналов подписки я должен создать, например. адпост, апдейтпост, аддкоммент, апдейткоммент. Должен ли я создать отдельный канал подписки для всех из них? Это не для каждого пользователя, видимо для всех пользователей. - person Shantaram Tupe; 05.06.2018