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

Jetty websocket客户端连接到Stomp.js主题频道,websocket,client,jetty,spring-websocket,Websocket,Client,Jetty,Spring Websocket,我已经编写了一个SpringWebSocket服务器,可以通过Stomp.js从浏览器进行评估。我现在正试图实现一个Java客户机,以便将我的服务器连接到辅助系统。我可以使用以下代码连接到服务器 String destUri = "ws://localhost:8080/sample"; WebSocketClient client = new WebSocketClient(); SimpleEchoSocket socket = new SimpleEchoSocket();

我已经编写了一个SpringWebSocket服务器,可以通过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();
}
连接已打开,现在我想连接到我的主题/价格流。这是通过stomp.js实现的:

stompClient.subscribe('/topic/pricechannel1', renderPrice);
我的Jetty websocket客户端的等效订阅方法是什么?我在网上找到的文件里什么也找不到

其他信息:

我正在尝试将stockticker示例实现到另一个项目中。我可以通过web浏览器中提供的连接到服务器。现在,我正试图创建一个Java客户端,以便在Swing GUI中使用Jetty websocket客户端进行连接


我需要连接到价格流,但似乎我缺少某种配置请求,无法作为主题的目的地锁定。一般来说,普通websocket客户端(如Jetty提供的客户端)支持websocket标准。STOMP是位于该传输之上的协议

在这里,您需要实现自己的STOMP客户机,或者将现有的STOMP客户机与您正在使用的websocket客户机进行接口


Spring4.2(即将发布)为这个特定的用例提供了一个新的STOMP客户端。请参阅。

非常感谢您为我指明了4.2客户端的方向!我已经实现了客户机,但是对于如何为标准WebSocketClient构造函数提供websocket容器,我有点困惑。我知道我很接近,我可以请你解释一下我应该如何在我的类中实现容器吗?我曾尝试在这里使用这个例子,但没有多大成功。再次感谢!您所需要的一切都在参考文档中进行了描述-您可以使用StandardWebSocketClient或Reactor11TcpsCompClient。文档很棒,我使用了其中的代码示例。但当我在WebSocketClient transport=new StandardWebSocketClient()期间运行抛出时,我不断得到一个异常;Websocket客户端试图找到Websocket容器,我不确定如何配置它。对不起,重复的问题!哦,好的。在类路径上是否有servlet容器,例如tomcat或jetty?我没有,这是我的问题。我已经将org.glassfish.tyrus.bundles»websocket ri bundle添加到我的类路径中,我正在连接!谢谢你的建议!