Python stomp客户端无法从Spring 2.x Stomp Service接收任何消息

时间:2019-12-17 05:57:08

标签: spring websocket stomp

我的基于spring 1.5的stomp websocket服务器和基于python的stomp客户端运行正常。

将spring版本升级到2.x之后,客户端不再收到任何消息。我已经咨询了弹簧指南,但找不到任何错误。

基于Python的踏板客户端:

import stomper
from websocket import create_connection

ws = create_connection('ws://localhost:8080/ws')
ws.send(stomper.subscribe('/msg', 0))
print(ws.recv())

基于Spring 1.5的脚踏服务器:

@Configuration
@EnableWebSocketMessageBroker
class DemoConfig extends AbstractWebSocketMessageBrokerConfigurer {
    @Override
    public void configureMessageBroker(MessageBrokerRegistry registry) {
        registry.enableSimpleBroker("/msg");
        registry.setApplicationDestinationPrefixes("/app");
    }

    @Override
    public void registerStompEndpoints(StompEndpointRegistry registry) {
        registry.addEndpoint("ws");
    }
}

@Component
@EnableScheduling
class MessageBroker {
    @Autowired
    private SimpMessagingTemplate messenger;

    @Scheduled(fixedRate = 1000)
    private void msg() {
        messenger.convertAndSend("/msg", "hello");
    }
}

基于Spring 2.x的踏板服务器(实现一个接口而不扩展抽象类):

@Configuration
@EnableWebSocketMessageBroker
class DemoConfig implements WebSocketMessageBrokerConfigurer {
    @Override
    public void configureMessageBroker(MessageBrokerRegistry registry) {
        registry.enableSimpleBroker("/msg");
        registry.setApplicationDestinationPrefixes("/app");
    }

    @Override
    public void registerStompEndpoints(StompEndpointRegistry registry) {
        registry.addEndpoint("ws");
    }
}

@Component
@EnableScheduling
class MessageBroker {
    @Autowired
    private SimpMessagingTemplate messenger;

    @Scheduled(fixedRate = 1000)
    private void msg() {
        messenger.convertAndSend("/msg", "hello");
    }
}

0 个答案:

没有答案