Jetty9 WebSocket 客户端 - SessionFactory.createSession 导致 java.lang.NullPointerException
Posted
技术标签:
【中文标题】Jetty9 WebSocket 客户端 - SessionFactory.createSession 导致 java.lang.NullPointerException【英文标题】:Jetty9 WebSocket Client - SessionFactory.createSession causes java.lang.NullPointerException 【发布时间】:2014-01-15 19:59:49 【问题描述】:我是 Jerry 的新手,正在尝试在 Jetty9 上实现 WebSocket 客户端。
我在 Jetty8 上看到了一个例子。
org.eclipse.jetty.websocket 类 WebSocketClient
http://archive.eclipse.org/jetty/8.0.0.v20110901/apidocs/org/eclipse/jetty/websocket/WebSocketClient.html
创建一个新的 WebSocketClient 实例是:
WebSocketClientFactory factory = new WebSocketClientFactory();
factory.start();
WebSocketClient client = factory.newWebSocketClient();
// Configure the client
WebSocket.Connection connection = client.open(new
URI("ws://127.0.0.1:8080/"), new WebSocket.OnTextMessage()
public void onOpen(Connection connection)
// open notification
public void onClose(int closeCode, String message)
// close notification
public void onMessage(String data)
// handle incoming message
).get(5, TimeUnit.SECONDS);
connection.sendMessage("Hello World");
但是,我从未见过 Jetty9 的文档。
到目前为止,参考
org.eclipse.jetty.websocket.common Interface SessionFactory
//----------------------------------------------
WebSocketSession createSession(URI requestURI,
EventDriver websocket,
LogicalConnection connection)
//----------------------------------------------
我试过了
private WebSocketSessionFactory factory = new WebSocketSessionFactory();
try
WebSocketSession session = factory.createSession(uri,
eventDriver, connection);
RemoteEndpoint ep = session.getRemote();
catch (Exception ex)
System.out.println("=ERROR= " + ex);
//=ERROR= java.lang.NullPointerException
private EventDriver eventDriver = new EventDriver()
@Override
public WebSocketPolicy getPolicy()
return null;
//......................................
@Override
public void incomingFrame(Frame frame)
;
private LogicalConnection connection = new LogicalConnection()
@Override
public void close()
//...............................
@Override
public void resume()
;
但我遇到了 java.lang.NullPointerException
我们如何实现 Jetty9 WebSocket 客户端??
感谢您的建议。
【问题讨论】:
【参考方案1】:希望这有帮助:EventClient.java
【讨论】:
以上是关于Jetty9 WebSocket 客户端 - SessionFactory.createSession 导致 java.lang.NullPointerException的主要内容,如果未能解决你的问题,请参考以下文章
Jetty 9.2.x Websocket Server连接在使用Firefox而不是Chrome时连接后自动关闭