[英]Establishing a WebSocket client connection in Jetty?
I'm following this tutorial to establish a WebSocket connection to a server: http://www.eclipse.org/jetty/documentation/current/jetty-websocket-client-api.html 我正在按照本教程建立与服务器的WebSocket连接: http : //www.eclipse.org/jetty/documentation/current/jetty-websocket-client-api.html
The code (same as the tutorial): 代码(与教程相同):
import java.net.URI;
import org.eclipse.jetty.websocket.client.ClientUpgradeRequest;
import org.eclipse.jetty.websocket.client.WebSocketClient;
/**
* Example of a simple Echo Client.
*/
public class SimpleEchoClient {
public static void main(String[] args) {
String destUri = "ws://echo.websocket.org";
if (args.length > 0) {
destUri = args[0];
}
WebSocketClient client = new WebSocketClient();
SimpleEchoClient socket = new SimpleEchoClient();
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();
} finally {
try {
client.stop();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
Errors: 错误:
2014-08-07 21:49:00.346:INFO::main: Logging initialized @86ms
org.eclipse.jetty.websocket.api.InvalidWebSocketException:
SimpleEchoClient is not a valid WebSocket object.
Object must obey one of the following rules:
(1) class implements org.eclipse.jetty.websocket.api.WebSocketListener or
(2) class is annotated with @org.eclipse.jetty.websocket.api.annotations.WebSocket
at org.eclipse.jetty.websocket.common.events.EventDriverFactory.wrap(EventDriverFactory.java:145)
at org.eclipse.jetty.websocket.client.WebSocketClient.connect(WebSocketClient.java:200)
at org.eclipse.jetty.websocket.client.WebSocketClient.connect(WebSocketClient.java:144)
at SimpleEchoClient.main(SimpleEchoClient.java:31)
I'm not too sure what is wrong with my imported jar file. 我不太确定我导入的jar文件出了什么问题。 Maybe it is the wrong one?
也许是错了吗? I'm using this: http://mvnrepository.com/artifact/org.eclipse.jetty.websocket/websocket-client/9.2.2.v20140723
我正在使用: http : //mvnrepository.com/artifact/org.eclipse.jetty.websocket/websocket-client/9.2.2.v20140723
Surely there must be an easier way to establish a connection via Jetty Websocket and start receiving data? 当然,肯定有一种更简单的方法可以通过Jetty Websocket建立连接并开始接收数据吗?
It looks like the documentation is out-of-date with the current version you are using. 看来文档与您使用的当前版本已经过时。 Try rolling back to a more stable version of 9.2.x like:
尝试回滚到更稳定的9.2.x版本,例如:
<dependency>
<groupId>org.eclipse.jetty.websocket</groupId>
<artifactId>websocket-client</artifactId>
<version>9.2.0.RC0</version>
</dependency>
正如Kayman在评论中所解释的那样,您对套接字处理程序实现的问题,请使用此处介绍的最新版本以及一个示例(您使用过但正确)进行了解释。http://www.eclipse.org/jetty/documentation/current/jetty-websocket -client-api.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.