Forichok / Chat

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Чат на 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, например)

About


Languages

Language:Python 100.0%