Jetty websocket 客户端连接到 Stomp.js 个主题频道

Jetty websocket client connect to Stomp.js topic channel

我写了一个 Spring Websocket 服务器,可以通过 Stomp.js 从浏览器访问它。我现在正在尝试实现一个 Java 客户端,以便将我的服务器连接到辅助系统。我可以使用以下代码连接到服务器

String destUri = "ws://localhost:8080/sample";
    WebSocketClient client = new WebSocketClient();
    SimpleEchoSocket socket = new SimpleEchoSocket();
    try {
        client.start();
        URI echoUri = new URI(destUri);
        ClientUpgradeRequest request = new ClientUpgradeRequest();
        client.connect(socket, echoUri, request);
        System.out.printf("Connecting to : %s%n", echoUri);
        socket.awaitClose(5, TimeUnit.SECONDS);
    } catch (Throwable t) {
        t.printStackTrace();
}

连接已打开,现在我想连接到我的主题/price-stream。这是通过 stomp.js :

实现的
stompClient.subscribe('/topic/pricechannel1', renderPrice);

我的 Jetty websocket 客户端的等效订阅方法是什么?我在网上找到的文档中找不到任何内容。

附加信息:

我正在尝试在 Web 浏览器中实现股票行情示例 found here into another project. I can connect to the server through the provided Stomp.js interface。现在我正在尝试创建一个 Java 客户端,以便在使用 Jetty websocket-client 连接的 Swing GUI 中使用。

我需要连接到价格流,但似乎我缺少某种配置请求以锁定为主题的目的地

通常,普通的websocket 客户端(如Jetty 提供的客户端)支持websocket 标准。 STOMP 是一种位于该传输之上的协议。

在这里,您需要实现自己的 STOMP 客户端或将现有客户端与您正在使用的 websocket 客户端连接。

Spring 4.2(即将发布)包含一个针对此特定用例的新 STOMP 客户端。见 reference documentation of 4.2.RC2.