forked from TooTallNate/Java-WebSocket
- Notifications
You must be signed in to change notification settings - Fork 0
Joachim Reiß edited this page Jun 23, 2015 · 5 revisions
Using Java-Websocket is very similar to using javascript websockets: You simply take the client or the server class and override its abstract methods by putting your appilication logic in place.
These methods are
- onOpen
- onMessage
- onClose
- onError
importjava.net.InetSocketAddress; importorg.java_websocket.WebSocket; importorg.java_websocket.handshake.ClientHandshake; importorg.java_websocket.server.WebSocketServer; publicclassSimpleServerextendsWebSocketServer{publicSimpleServer(InetSocketAddressaddress){super(address)} @OverridepublicvoidonOpen(WebSocketconn, ClientHandshakehandshake){System.out.println("new connection to " + conn.getRemoteSocketAddress())} @OverridepublicvoidonClose(WebSocketconn, intcode, Stringreason, booleanremote){System.out.println("closed " + conn.getRemoteSocketAddress() + " with exit code " + code + " additional info: " + reason)} @OverridepublicvoidonMessage(WebSocketconn, Stringmessage){System.out.println("received message from " + conn.getRemoteSocketAddress() + ": " + message)} @OverridepublicvoidonError(WebSocketconn, Exceptionex){System.err.println("an error occured on connection " + conn.getRemoteSocketAddress() + ":" + ex)} publicstaticvoidmain(String[] args){Stringhost = "localhost"; intport = 8887; WebSocketServerserver = newSimpleServer(newInetSocketAddress(host, port)); server.run()} }importjava.net.URI; importjava.net.URISyntaxException; importorg.java_websocket.client.WebSocketClient; importorg.java_websocket.drafts.Draft; importorg.java_websocket.drafts.Draft_10; importorg.java_websocket.handshake.ServerHandshake; publicclassEmptyClientextendsWebSocketClient{publicEmptyClient(URIserverUri, Draftdraft){super(serverUri, draft)} publicEmptyClient(URIserverURI){super(serverURI)} @OverridepublicvoidonOpen(ServerHandshakehandshakedata){System.out.println("new connection opened")} @OverridepublicvoidonClose(intcode, Stringreason, booleanremote){System.out.println("closed with exit code " + code + " additional info: " + reason)} @OverridepublicvoidonMessage(Stringmessage){System.out.println("received message: " + message)} @OverridepublicvoidonError(Exceptionex){System.err.println("an error occurred:" + ex)} publicstaticvoidmain(String[] args) throwsURISyntaxException{WebSocketClientclient = newEmptyClient(newURI("ws://localhost:8887"), newDraft_10()); client.connect()} }