Examples of ReceivedLineFromServerEvent


Examples of erki.talk.clients.erki.event.ReceivedLineFromServerEvent

       
        if (line.startsWith("NICKINUSE")) {
            socketOut.println("NICK " + Controller.getAlternateNick());
        } else {
            Controller.getInstance().dispatchEvent(
                    new ReceivedLineFromServerEvent(line));
        }
       
        Logger.info(this, "Requesting user list.");
        Controller.getInstance().dispatchEvent(
                new OutputTextEvent(Localizor.getInstance().get(
                        "REQUEST_USER_LIST"), Formatter.getInfoFormat()));
        socketOut.println("LIST");
       
        // Start ping thread that checks that the server is alive.
        pingThread = new Thread("PingThread") {
           
            @Override
            public void run() {
                super.run();
               
                EventObserver<PongEvent> pongObserver = new EventObserver<PongEvent>() {
                   
                    @Override
                    public void inform(PongEvent event) {
                        // Do nothing as we know that the connection is alive.
                    }
                };
               
                Controller.getInstance()
                        .register(PongEvent.class, pongObserver);
               
                while (!killed) {
                    send("PING");
                   
                    try {
                        Thread.sleep(60000);
                    } catch (InterruptedException e) {
                        // It doesn not matter if we check too often.
                    }
                }
               
                Controller.getInstance().deregister(PongEvent.class,
                        pongObserver);
            }
           
        };
       
        pingThread.start();
       
        // Start new thread that reads from socket in background.
        new Thread("ReadServerThread") {
           
            @Override
            public void run() {
                super.run();
                String line;
               
                try {
                   
                    while ((line = socketIn.readLine()) != null) {
                        String decLine = line;
                       
                        synchronized (cryptoLock) {
                           
                            if (crypto != null) {
                               
                                try {
                                    Logger.debug(Connection.class, "Trying to "
                                            + "decrypt »" + line + "«.");
                                    decLine = crypto.decrypt(line);
                                    Logger.debug(Connection.class, "Text "
                                            + "decrypted.");
                                } catch (IllegalBlockSizeException e) {
                                    Logger.error(Connection.class, "A fatal "
                                            + "error occurred while "
                                            + "decrypting ("
                                            + e.getLocalizedMessage() + ")!");
                                    Controller.getInstance().dispatchEvent(
                                            new QuitEvent());
                                    return;
                                } catch (BadPaddingException e) {
                                    Logger.error(Connection.class, "A fatal "
                                            + "error occurred while "
                                            + "decrypting ("
                                            + e.getLocalizedMessage() + ")!");
                                    Controller.getInstance().dispatchEvent(
                                            new QuitEvent());
                                    return;
                                }
                            }
                        }
                       
                        Controller.getInstance().dispatchEvent(
                                new ReceivedLineFromServerEvent(decLine));
                    }
                   
                } catch (IOException e) {
                    deregisterEventObservers();
                    connection = null;
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.