Чат на RabbitMQ.
Панель справа (ListView + Model) отвечает за подключенные к сети другие экземпляры программы чата (другие пользователи) — отображает список пользователей чата в сети + статус (отключен от сети или еще подключен).
Основная область — отображение текста сообщений и заголовка сообщения
В заголовке: дата\время, имя пользователя.
При запуске пользователь вводит имя пользователя чата.
После чего чат подключается к общей очереди сообщений чата.
По умолчанию окно создаётся со вкладкой «Общие».
В каждой вкладке есть поле для отображения сообщений и поле для отправления сообщений.
В вкладке «Общие» отображаются все сообщения ото всех пользователей из общей очереди сообщений.
Есть возможность посылать сообщения конкретному пользователю:
1.выбрать щелчком в ListView
2.создаётся новая вкладка (QTabWidget) с заголовком по имени выбранного пользователя
3.В этой вкладке отображаются только сообщения из потока «клиент — выбранный пользователь», т. е. не отображаются сообщения из общего потока и сообщения из этой вкладки не отображаются в потоке сообщений общей очереди
4.Использовать подключение ssl.
5.Использовать для этого отдельную очередь сообщений.
Есть возможность заблокировать отображение сообщений от выбранного пользователя.
Отдельная вкладка с опцией «сервис» (реализуется через RabbitMQ RPC – см. туториал 6):
1.пользователь отсылает сообщения с ключевыми словами
2.на сервере в отложенном режиме запускаются соответствующие процессы-заглушки. Например: make_pdf.exe – запускается — ждет 10 секунд — возвращает сообщение о успешном завершении работы.
Должны использоваться:
1.RabbitMQ
2.Pika
3.PyQt
4.QTabWidget
5.Потоки
6.Использование фильтрации сообщений (через RabbitMQ topic, например)