public KismetConnection(String host, int port) throws IOException {
        socket = new Socket(host, port);
        in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
        out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
        
        out.write("!0 REMOVE TIME\r\n");
        out.flush();
        
        while (version == null || !initialised) {
            parse(in.readLine());
        }
        
        new Thread() {

            @Override
            public void run() {
                while(running) {
                    try {
                        parse(in.readLine());
                    }
                    catch (IOException ex) {
                        break;
                    }
                    catch (Exception ex) { }
                }
                
                try {
                    in.close();
                }
                catch (IOException ex) { }
                try {
                    out.close();
                }
                catch (IOException ex) { }
                try {
                    socket.close();
                }
                catch (IOException ex) { }
            }
            
        }.start();
    }