Skip to content

Asm0deusss/rt_chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Real time chat


Зачем?

Когда мы общаемся с людьми, по почте или в мессенджерах мы теряем момент живого разговора, так как надо написать сообщение и отправить его. Позже пришли голосовые сообщения, но их надо слушать, что тоже занимает время, да и нравится далеко не всем. Для дружеского или неформально-делового чаттинга реализован чат, где набираемое собеседником сообщение видно в realtime окне.

Структура

Приложение будет содержать в себе следующие модули и их составляющие:

  • Сервер:
    • Основной поток, управляющий пользователями
    • Менеджер подключений
    • Менеджер приходящих запросов
  • Клиент
  • Логгер
  • Обработчик ошибок
  • Менеджер файлов

Каждый клиент будет обрабатываться в отдельном потоке. Подключение реализовано на сокетах.

Задачи каждого из участников проекта

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

Новгородский Андрей:

  • Реализовать менеджер подключений
  • Реализовать менеджер приходящих запросов
  • Реализовать realtime запись в консольном окне

Скоробогатов Гордей:

  • Реализовать обработчик ошибок
  • Реализовать логгер
  • Реализовать менеджер файлов
  • Написать документацию

Ожидаемые результаты

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

About

Real-time chat project for CAOS 2023 course

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages