从Spring Boot Web应用程序中的Web套接字获取数据

时间:2017-01-22 06:04:43

标签: java spring-mvc websocket spring-websocket

我是Spring Boot和Websockets的新手。 我对Java感到满意,并在Websockets和Spring Boot框架上阅读了一些内容。 我需要与Web套接字通信并在现有的Spring Boot Web应用程序中获取数据。 任何人都可以让我知道我可以在哪里开始和任何良好的在线资源?我做了谷歌,但大多数例子我很难在短时间内掌握。如果可能的话,也可以从概念上向我解释。

提前致谢

2 个答案:

答案 0 :(得分:0)

在春季启动时创建基本的websockeet应用程序 你需要:

- 首先,启用Websocket支持,例如使用:

@Controller
public class GreetingController {


    @MessageMapping("/hello")
    @SendTo("/topic/greetings")
    public Greeting greeting(HelloMessage message) throws Exception {
        Thread.sleep(1000); // simulated delay
        return new Greeting("Hello, " + message.getName() + "!");
    }

}

- 其次,创建消息处理控制器:

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {

    @Override
    public void configureMessageBroker(MessageBrokerRegistry config) {
        config.enableSimpleBroker("/topic");
        config.setApplicationDestinationPrefixes("/app");
    }

    @Override
    public void registerStompEndpoints(StompEndpointRegistry registry) {
        registry.addEndpoint("/gs-guide-websocket").withSockJS();
    }

}

- 创建浏览器客户端

function connect() {
    var socket = new SockJS('/gs-guide-websocket');
    stompClient = Stomp.over(socket);
    stompClient.connect({}, function (frame) {
        setConnected(true);
        console.log('Connected: ' + frame);
        stompClient.subscribe('/topic/greetings', function (greeting) {
            showGreeting(JSON.parse(greeting.body).content);
        });
    });
}

我认为你可以从这个例子https://spring.io/guides/gs/messaging-stomp-websocket/

开始

答案 1 :(得分:0)

查看我对类似问题的回答: SockJS Java Client Implementation for non-web application

在其中,您可以找到能够发送/接收websocket数据的客户端示例。