import java.net.URI;
import javax.websocket.*;

@ClientEndpoint
public class Master extends Thread{
    private  Object waitLock = new Object();

    @OnMessage
    public void onMessage(String message){
        System.out.println("Received msg " + message);
    }

    private  void waitForTerminationSignal(){
        synchronized (waitLock){
            try {
                waitLock.wait();
            } catch (InterruptedException exception) {
                exception.printStackTrace();
            }
        }
    }

  
       Master(){
       }
       public void run(){

       
        WebSocketContainer container = null;
      
        Session session = null;
      
        try {
            container = ContainerProvider.getWebSocketContainer();
            session = container.connectToServer(this, URI.create("ws://145.24.222.24:8080")); //ws://localhost:6666 "ws://145.24.222.24:8080"
            session.getAsyncRemote().sendText("[\"register\", \"master\", \"gr\"]");
        
            session.getAsyncRemote().sendText("[\"gr\", \"IDSenBank: gr\" , \"Func: pinCheck\", \"IBAN: GR01ADFL123456\", \"PIN: 1234\"]");
            


            waitForTerminationSignal();
        } catch (Exception e) {
            e.printStackTrace();
        }
        finally{
            if(session != null ){
                try {
                    session.close();
                   
                } catch (Exception e) {
                    e.printStackTrace();
                }

        
             

            }
        }
    }
}


