/** * license (MIT) Copyright Nubisa Inc. 2014 */ package jxm; import jxm.JWS.FR.Framedata; import jxm.JWS.HS.ServerHandshake; import java.net.URI; public class Socketer extends WebSocketClient implements PSocket { private volatile boolean connected = false; public SocketEvents events = null; public Socketer(URI url) throws Exception { this(url, null); } public Socketer(URI url, String protocol) throws Exception { super(url); } @Override public void onOpen(ServerHandshake handshakedata) { //System.out.println( "opened connection" ); events.open(); // if you plan to refuse connection based on ip or httpfields overload: onWebsocketHandshakeReceivedAsClient } @Override public void onMessage(String message) { //System.out.println( "received: " + message ); events.message(message); } @Override public void onFragment(Framedata fragment) { //System.out.println( "received fragment: " + new String( fragment.getPayloadData().array() ) ); } @Override public void onClose(int code, String reason, boolean remote) { // The codecodes are documented in class org.java_websocket.framing.CloseFrame //System.out.println( "Connection closed by " + ( remote ? "remote peer" : "us" ) ); events.close(); } @Override public void onError(Exception ex) { //ex.printStackTrace(); // if the error is fatal then onClose will be called additionally events.error(ex); } }