Финальный проект по курсу "ООП"
Разработка чата с графическим интерфейсом.
Серверный компонент обрабатывает все входящие команды. Он содержит следующее:
- Необходимую функциональность для работы с сетью.
- Диспетчер потоков для отображения всех клиентов в сети.
- Десериализацию и обработку пакетов, приходящих от клиентов.
Клиентский компонент представляет собой графический интерфейс для управления чатом. Содержит следующее:
- Необходимую функциональность для работы с сетью.
- Поддержку кнопок для команд клиента.
- Отображение результатов выполнения команды.
Таким образом, картина следующая:
-
Клиент подключается к серверу, открывается окно. Сервер даёт клиенту имя по умолчанию.
-
В данном окне отображаются все пользователи, находящиеся в сети.
-
При нажатии на конкретного пользователя, открывается чат с конкретным пользователем.
-
Появляется поле для ввода сообщения и кнопка send.
-
При нажатии на кнопку send, формируется пакет SendPacket, в котором содержится поле user, в котором указан получатель, пакет отправляется на сервер, сервер десериализует данные, получает имя получателя и сообщение отображается в гуи получателя.
Кнопки (команды):
- Кнопка send. Отправляет письмо конкретному получателю.
- Кнопка incoming. Показ входящий сообщений.
- Кнопка delete. Удаление переписки, помещение её в корзину.
- Кнопка cancel. Возвращение сообщений из корзины в папку входящие.
- Кнопка friends. Показ всех пользователей в сети.
- Кнопка exit. Для выхода из сети.
- Кнопка rename. Для смены имени пользователя.
- Кнопка group. Для создания группового чата.
- Кнопка attach. Для прикрепления и отправления файла.