LINUX.ORG.RU

Сообщения clock

 

Несколько вопросов по Qt и его QTcpServer

1. Дали задание сделать клиент и сервер на Qt, задание сделал и после его отправки, мне ответили, что использование QTcpServer нежелательно, а как делать иначе не знаю (предполагаю, через QTcpSocket), впервые использую Qt для чего либо, поэтому делал по примерам, найденным в сети, а там везде QTcpServer, почему так, если это плохо?

2. Также в задании предполагалась обработка нескольких соединений одновременно, у меня же получается только одно, более того, при подключенном клиенте, если подключится ещё один, начинается какая то вакханалия с передачей данных - второму подключению вместо слова для поиска передаётся часть текста из файла первого, после чего второй переходит в ожидание, пока первый не освободится. В самом начале, когда делал по примеру, предполагал, что такая реализация сервера будет обрабатывать сразу несколько соединений, но оказалось не так, хотел добавить форки, но не стал, подумал это будет не совсем правильно, а правильным будет добавить потоки (QThread), так ли это? Если да, то как это лучше сделать, чтобы не исправлять всё полностью? Если нет, то какой подход лучше использовать?

3. В клиентском clientwindow.cpp в конструкторе я попытался задать регулярные выражения, чтобы word_for_searching не давал вводить недопустимые символы, только буквы и цифры, но, опять-таки, то как это описано в примерах, не сработало, приложение сразу закрывается, хотя всё логично и компилятор не выдаёт предупреждений и ошибок. Что не так?

4. В clientwindow.cpp есть функция loading, её задача показывать анимацию загрузки на экране загрузки из-за неё всё повисает при подключении или анимация вовсе не работает, я подозреваю это тоже нужно делать через потоки?

5. Нужно подсчитать количество слов в файле - когда я передаю файл от клиента серверу есть возможность на сервере сразу вести подсчёт, миную фазу записи в файл, а потом его открытие, считывание и закрытие. Так вот с этим 2 вопроса:

5.1 Если переводить QByteArray в строку, также надо будет париться о том, чтобы очередное слово было полным и уже потом считать, а иначе дочитывать из сокета дополнительные данные, это не будет дольше или займёт такое же количество времени, как если бы я работал с файлом, к тому же из файла можно читать пословно до пробела?

5.2 Как сделать проверку очередного полученного QByteArray на принадлежность к отдельному слову? И как считывая из файла игнорировать спецсимволы? А то, допустим, в тексте «Улыбок тебе, дед макар.» «тебе,» и «макар.» будут интерпретированы, как слова, а если будут пропущены пробелы после точек и запятых, это вообще получится одно большое слово. Я хотел добавить закрытую функцию, которая бы проверяла очередное слово на отсутствие символов точек, запятых и т.д., но вдруг есть более простое решение экономящее время.

https://gitlab.com/iamclock/Qt-question

 , , , ,

clock
()

xfce отсутствует значок управления звуком

в xfce4 трейе в области системный лоток(notification area) отсутствует значок динамика для увеличения/уменьшения звука, но появляется с добавлением индикаторов(indicators), которые в свою очередь убирают вообще некоторые другие значки в трейе. Раньше на зарубежных форумах советовали установить xfce4-mixer, но его выпилили из репозиториев. Может быть есть какой то способ добавить микшер в notification area или поставить сторонний, похожий на стандартный?

Перемещено Klymedy из admin

 ,

clock
()

Как автоматически обновлять раздачи в qBitTorrent?

Проблема такова: в qBitTorrent есть число постоянно раздающихся раздач, по умолчанию оно либо 5, либо 3(не помню точно, но для определённости, пусть будет 5); у меня есть 12: из них 5 раздаются, 7 спят, или ожидают; по прошествии определённого времени из этих 5 раздаются только 2, 3 просто висят в статусе раздающихся; теперь, если нажать кнопку «Возобновить все» из 7 спящих активируются 2-3 раздачи, а у тех 3ёх раздающихся меняется статус на спящих. --------------------- Коротко: Получается, что qBitTorrent не отслеживает пришедших пиров у ожидающих раздач, а просто раздаёт те, которые уже в статусе раздающихся, притом, если какие то из них перестали раздаваться, то повисают мёртвым грузом в статусе раздающихся и просто занимают место в очереди. Теперь суть вопроса, как автоматизировать процесс обновления очереди раздающихся раздач, чтобы раздачи не простаивали, а раздавались по мере подключения пиров? В уторренте такой проблемы не замечал, там вроде всегда раздачи обновляются своевременно

 , , ,

clock
()

Выбрать другой загрузчик grub из 2ух

Проблема такова: на один ЖД поставил 2 шт ОС хубунту, одной пользуюсь постоянно, вторая, как запасная на случай чего исправить, если будут какие то ошибки/глюки в первой, да и вообще, планирую в скором времени вместо 2ой поставить кали. В общем теперь в начале грузится груб 2ой ОС, что очень не удобно, если надо что то исправить в настройках груба, потому что приходится перегружаться, грузиться на второй линукс, настраивать, потом грузиться обратно в первый. Требуется выставить приоритет загрузки именно первого груба. Боюсь сам делать какие-то настройки, дабы избежать полного отказа обоих загрузчикофф. Может быть кто то сталкивался с подобным или уже поднимали такой вопрос? В поисковиках находятся только темы с изменением приоритета загрузки операционных систем.

 , ,

clock
()

RSS подписка на новые темы