Jetty9 WebSocket客户端 - SessionFactory.createSession导致java.lang.NullPointerException

时间:2014-01-15 19:59:49

标签: java eclipse websocket jetty

我是Jerry的新手,并尝试在Jetty9上实现WebSocket Client。

我在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 Client ??

感谢您的建议。

1 个答案:

答案 0 :(得分:0)

希望这有用:EventClient.java

相关问题