我是Jerry的新手,并尝试在Jetty9上实现WebSocket Client。
我在Jetty8上看到了一个例子。
org.eclipse.jetty.websocket类WebSocketClient
创建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 Client ??
感谢您的建议。