package mobi.acpm.inspeckage.log;
import org.java_websocket.WebSocket;
import org.java_websocket.handshake.ClientHandshake;
import org.java_websocket.server.WebSocketServer;
import java.net.InetSocketAddress;
import java.net.UnknownHostException;
import java.util.Collection;
/**
* Created by acpm on 13/03/16.
*/
public class WSocketServer extends WebSocketServer {
public WSocketServer( int port ) throws UnknownHostException {
super( new InetSocketAddress( port ) );
}
public WSocketServer( InetSocketAddress address ) {
super( address );
}
@Override
public void onOpen(WebSocket webSocket, ClientHandshake clientHandshake) {
this.sendToClient( "[Handshake Ok]");
}
@Override
public void onClose(WebSocket webSocket, int i, String s, boolean b) {
this.sendToClient(webSocket + " close" );
}
@Override
public void onMessage(WebSocket webSocket, String message) {
this.sendToClient(message );
}
@Override
public void onError(WebSocket webSocket, Exception e) {
e.printStackTrace();
if( webSocket != null ) {
// some errors like port binding failed may not be assignable to a specific websocket
}
}
public void sendToClient( String text ) {
Collection<WebSocket> con = connections();
synchronized ( con ) {
for( WebSocket c : con ) {
c.send( text );
}
}
}
}