public void run() {
        ObjectInputStream inStream;
        try {
            inStream = new ObjectInputStream(
                    new BufferedInputStream(clientSocket.getInputStream()));
        } catch (Exception ex) {
            // Мы не смогли создать входной поток
            Log.add("Не смогли создать вхожной поток для клиента: " + ex.toString());
            try {
                clientSocket.close();
            } catch (Exception ex2) {
                Log.add("Не смогли закрыть сокет для клиента: " + ex.toString());
            }

            return;
        }


        while (true) {
            //[Сообщение] = [Длинна тела сообщения](int)[Тип сообщения](int)[Тело сообщение]
            Command cmd;
            //byte[] byteArr;
            //int messageType;
            try {
                cmd = (Command)inStream.readObject();
                //int messageLen = inStream.readInt();
                //messageType = inStream.readInt();


                //byteArr = new byte[messageLen];
                //inStream.read(byteArr, 0, messageLen);
            } catch (Exception ex) {
                // Пытались что то прочтать, но у нас не вышло
                // Так тут можно насмерть и зациклиться?
                continue;
            }

            
            try {
                //cmd = client.commandProcessor.getCommand(messageType, byteArr);

            } catch (Exception ex) {
                Log.add("Ошибка формирования команды:" + ex.toString());
                // Пропускаем всё и продолжам цикл приёма
                continue;
            }

            // Пытаемся выполнить команду
            client.commandProcessor.execute(cmd);




            if (0 > 1) {
                break;
            }
        }

    }