Skip to content

Latest commit

 

History

History
27 lines (21 loc) · 1.93 KB

README.md

File metadata and controls

27 lines (21 loc) · 1.93 KB

Kivy-RabbitMQ_Chat

Для создания пользовательского интерфейса использована библиотека Kivy.

main.py - точка входа.

Вход в приложение

  • Server -- IP адрес сервера с брокером RabbitMQ (почтовый ящик)
  • Nickname -- имя почтового ящика/отправителя

alt text

Окно группового чата

История сообщений группового чата хранится в ScrollWidget. Новые сообщения добавляются снизу, чтобы просмотреть старые сообщения нужно скроллить вверх.

alt text

Message Routings:

Каждый тип сообщения закрашивается в определенный цвет в зависимости от routing_key.

  • Сервисные сообщения:
    • Публичные (красные):
      • @who_are_here? - получить список пользователей онлайн;
      • @зашел_в_чат - генерируется при входе в чат.
    • Приватные (оранжевые):
      • @i_am_here! - автоматический ответ на @who_are_here?.
  • Приватные сообщения (фиолетовые) - адресуются конкретным потребителям через обменник amq.direct;
  • Публичные сообщения (синие) - рассылаются всем через обменник amq.famout.

Сервисные сообщения удаляются из очереди сразу после доставки потребителю. Остальные сообщения удаляются из очереди через 24 часа.