package net.tootallnate.websocket; import java.io.IOException; import net.tootallnate.websocket.Framedata.Opcode; public abstract class WebSocketAdapter implements WebSocketListener { @Override public HandshakeBuilder onHandshakeRecievedAsServer( WebSocket conn, Draft draft, Handshakedata request ) throws IOException { return new HandshakedataImpl1(); } @Override public boolean onHandshakeRecievedAsClient( WebSocket conn, Handshakedata request, Handshakedata response ) throws IOException { return true; } @Override public void onMessage( WebSocket conn, String message ) { } @Override public void onOpen( WebSocket conn, Handshakedata handshake ) { } @Override public void onClose( WebSocket conn, int code, String reason, boolean remote ) { } @Override public void onMessage( WebSocket conn, byte[] blob ) { } @Override public void onPing( WebSocket conn, Framedata f ) { FramedataImpl1 resp = new FramedataImpl1 ( f ); resp.setOptcode( Opcode.PONG ); try { conn.sendFrame ( resp ); } catch ( InterruptedException e ) { e.printStackTrace(); } } @Override public void onPong( WebSocket conn, Framedata f ) { } /** * Gets the XML string that should be returned if a client requests a Flash * security policy. * * The default implementation allows access from all remote domains, but * only on the port that this WebSocketServer is listening on. * * This is specifically implemented for gitime's WebSocket client for Flash: * http://github.com/gimite/web-socket-js * * @return An XML String that comforms to Flash's security policy. You MUST * not include the null char at the end, it is appended automatically. */ @Override public String getFlashPolicy( WebSocket conn ) { return "<cross-domain-policy><allow-access-from domain=\"*\" to-ports=\"" + conn.getLocalSocketAddress().getPort() + "\" /></cross-domain-policy>\0"; } @Override public void onError( WebSocket conn, Exception ex ) { } }