When I run the example http://www.eclipse.org/jetty/documentation/current/jetty-websocket-client-api.html on Android 4.2 emulator (with Java SDK 1.7),
I've got an error : java.lang.ExceptionInInitializerError on client.connect(socket, echoUri, request); I'd like to confirm if Jetty9 works on Android with Java7. I don't know the reason it's not working. Thanks. On Thu, Jan 16, 2014 at 6:41 AM, Ken OKABE <[email protected]> wrote: > PS. > http://download.eclipse.org/jetty/stable-9/apidocs/org/eclipse/jetty/websocket/client/ClientUpgradeRequest.html > > Allowing a generate from a UpgradeRequest > > String generate() > String getKey() > void setCookiesFrom(CookieStore cookieStore) > void setRequestURI(URI uri) > > I guessed this is for 're-use' the instance with another URI or Cookie? > > If so, I think this value is not needed to such a SimpleEchoClient > example, and I also would omit it. > > Regards, > > Ken > > On Thu, Jan 16, 2014 at 6:33 AM, Ken OKABE <[email protected]> wrote: >> Joakim, >> >> I found the example of files you provided is identical to >> http://www.eclipse.org/jetty/documentation/current/jetty-websocket-client-api.html >> which is handy to overview in a single page, so just for future reference. >> >> Everything seems clear to me except one thing. >> In the simple example, I found >> >> ClientUpgradeRequest request = new ClientUpgradeRequest(); >> client.connect(socket, echoUri, request); >> >> and I could not find any information for what exactly the >> ClientUpgradeRequest is. >> >> Referring to >> >> http://download.eclipse.org/jetty/stable-9/apidocs/org/eclipse/jetty/websocket/client/WebSocketClient.html >> >> Future<Session> connect(Object websocket, URI toUri) >> Future<Session> connect(Object websocket, URI toUri, >> ClientUpgradeRequest request) >> >> You can omit ClientUpgradeRequest, and the example does not tweak this value. >> >> Could you give me some pointer for what ClientUpgradeRequest is. >> >> Thanks again. >> >> Ken >> >> On Thu, Jan 16, 2014 at 6:07 AM, Joakim Erdfelt <[email protected]> wrote: >>> I need to write an update to that article. >>> >>> -- >>> Joakim Erdfelt <[email protected]> >>> webtide.com - intalio.com/jetty >>> Expert advice, services and support from from the Jetty & CometD experts >>> eclipse.org/jetty - cometd.org >>> >>> >>> On Wed, Jan 15, 2014 at 2:05 PM, Ken OKABE <[email protected]> wrote: >>>> >>>> Hi Joakim Erdfelt, >>>> >>>> Thanks to your advice, I understand. >>>> >>>> Probably, I can get through this issue since every factor seems >>>> well-defined to me by your answer. >>>> >>>> During this research, I've read your article: >>>> >>>> http://webtide.intalio.com/2012/10/jetty-9-updated-websocket-api/ >>>> >>>> >>>> Regards, >>>> >>>> Ken >>>> >>>> >>>> >>>> On Thu, Jan 16, 2014 at 5:15 AM, Joakim Erdfelt <[email protected]> >>>> wrote: >>>> > see a simple example at >>>> > >>>> > >>>> > http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/tree/jetty-websocket/websocket-client/src/test/java/examples?id=jetty-9.1.1.v20140108 >>>> > >>>> > There's no need to be mucking about with WebSocketSessionFactory, >>>> > EventDriver, or LogicalConnection. >>>> > Just keep it simple, use the socket you pass in as your communications >>>> > channel. >>>> > The Socket is configured by you to receive messages, and you use the >>>> > session >>>> > (obtained during socket open) to get information about the connection. >>>> > Use the session.getRemote() to send messages. >>>> > >>>> > >>>> > -- >>>> > Joakim Erdfelt <[email protected]> >>>> > webtide.com - intalio.com/jetty >>>> > Expert advice, services and support from from the Jetty & CometD experts >>>> > eclipse.org/jetty - cometd.org >>>> > >>>> > >>>> > On Wed, Jan 15, 2014 at 12:54 PM, Ken OKABE <[email protected]> wrote: >>>> >> >>>> >> Hi, I'm new to Jerry, and trying to implement WebSocket Client on >>>> >> Jetty9. >>>> >> >>>> >> I saw an example on Jetty8. >>>> >> >>>> >> org.eclipse.jetty.websocket Class WebSocketClient >>>> >> >>>> >> >>>> >> >>>> >> http://archive.eclipse.org/jetty/8.0.0.v20110901/apidocs/org/eclipse/jetty/websocket/WebSocketClient.html >>>> >> >>>> >> to create a new instance of WebSocketClient is : >>>> >> //===================================================== >>>> >> 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"); >>>> >> //=========================================================== >>>> >> >>>> >> However, I've never seen a document for Jetty9 for this. >>>> >> >>>> >> So far, referring to >>>> >> >>>> >> >>>> >> http://download.eclipse.org/jetty/9.1.0.v20131115/apidocs/org/eclipse/jetty/websocket/common/SessionFactory.html#createSession%28java.net.URI,%20org.eclipse.jetty.websocket.common.events.EventDriver,%20org.eclipse.jetty.websocket.common.LogicalConnection%29 >>>> >> >>>> >> //---------------------------------------------- >>>> >> WebSocketSession createSession(URI requestURI, >>>> >> EventDriver websocket, >>>> >> LogicalConnection connection) >>>> >> //---------------------------------------------- >>>> >> >>>> >> I've tried >>>> >> >>>> >> //=========================================================== >>>> >> 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() >>>> >> { >>>> >> >>>> >> } >>>> >> }; >>>> >> //=========================================================== >>>> >> >>>> >> but I've encounter java.lang.NullPointerException >>>> >> >>>> >> How do we implement Jetty9 WebSocket Client ?? >>>> >> >>>> >> Thanks for your advise. >>>> >> >>>> >> Ken >>>> >> _______________________________________________ >>>> >> jetty-users mailing list >>>> >> [email protected] >>>> >> https://dev.eclipse.org/mailman/listinfo/jetty-users >>>> > >>>> > >>>> > >>>> > _______________________________________________ >>>> > jetty-users mailing list >>>> > [email protected] >>>> > https://dev.eclipse.org/mailman/listinfo/jetty-users >>>> > >>>> _______________________________________________ >>>> jetty-users mailing list >>>> [email protected] >>>> https://dev.eclipse.org/mailman/listinfo/jetty-users >>> >>> >>> >>> _______________________________________________ >>> jetty-users mailing list >>> [email protected] >>> https://dev.eclipse.org/mailman/listinfo/jetty-users >>> _______________________________________________ jetty-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/jetty-users
