【问题标题】:Jetty websocket client connect to Stomp.js topic channelJetty websocket 客户端连接到 Stomp.js 主题频道
【发布时间】:2015-07-08 12:25:23
【问题描述】:

我编写了一个 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 客户端的等效订阅方法是什么?我在网上找到的文档中找不到任何内容。

附加信息:

我正在尝试将股票代码示例found here 实施到另一个项目中。我可以通过网络浏览器中提供的Stomp.js interface 连接到服务器。现在我正在尝试使用 Jetty websocket-client 来创建一个 Java 客户端,以便在 Swing GUI 中使用。

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

【问题讨论】:

    标签: websocket client jetty spring-websocket


    【解决方案1】:

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

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

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

    【讨论】:

    • 非常感谢您为我指明 4.2 客户端的方向!我已经实现了客户端,但是我对如何为 StandardWebSocketClient 构造函数提供 websocket 容器有点困惑。我知道我很接近,我可以请你解释一下我应该如何在我的班级中实现容器吗?我尝试在这里使用示例github.com/spring-projects/spring-integration/blob/master/…,但没有取得多大成功。再次感谢!
    • 参考文档docs.spring.io/spring-framework/docs/4.2.0.RC2/… 中描述了您需要的所有内容 - 您可以使用 StandardWebSocketClient 或 Reactor11TcpStompClient。
    • 文档很棒,我已经使用了那里的代码示例。但是当我在 WebSocketClient transport = new StandardWebSocketClient(); 期间运行 throw 时,我不断收到异常。 Websocket 客户端试图找到一个 websocketContainer,我不确定如何配置它。抱歉重复提问!
    • 哦,好的。类路径上是否有 servlet 容器,例如 tomcat 或 jetty?
    • 我没有,那是我的问题。我已将 org.glassfish.tyrus.bundles » websocket-ri-bundle 添加到我的类路径中,我正在连接!谢谢你的建议!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-27
    • 1970-01-01
    • 2015-05-22
    • 1970-01-01
    • 1970-01-01
    • 2014-04-17
    • 1970-01-01
    相关资源
    最近更新 更多