Разработать многопоточный TCP-сервер и клиентское приложение для пересылки афоризмов ("Fortune").
- можно использовать любую библиотеку сокетов (unix,QT,winsockets)
- и сервер и клиент должны быть консольными приложениями
- порт для работы клиента и сервера нужно указывать в файле настроек
- сборка проекта должна осуществляться системой CMAKE
- для сжатия сообщений нужно использовать библиотеку ZLIB
- для шифрования сообщений можно использовать любую библиотеку
- сервер должен считывать афоризмы из заранее подготовленного файла
- сервер должен использовать TCP-сокеры для обмена информацией с клиентом
- сервер должен поддерживать несколько соединений одновременно
- сервер должен управляться настройками в текстовом файле конфигурации
- сервер должен уметь передавать сообщение в сжатом виде (если опция включена)
- сервер должен уметь передавать сообщение в зашифрованном виде (если опция включена)
- сервер должен идентифицировать клиентов по специальному имени (передаваемому на сервер клиентом)
- сервер должен вести журнал соединений с клиентами, сохраняя идентификатор клиента и переданное ему сообщение (и в каком виде)
- клиент должен запускаться из командной строки с указанием IP-адреса сервера и номера порта
- клиент должен распаковывать/дешифровывать сообщения сервера
- клиент должен выводить полученные сообщения (афоризмы) на экран
| ФИО | Имя ветки |
|---|---|
| Алексеева В. | b1 |
| Белов А. | b2 |
| Булатова М. | b3 |
| Зобов М. | b4 |
| Зубова М. | b5 |
| Исхаков М. | b6 |
| Косолапов В. | b7 |
| Котрикова К. | b8 |
| Коченко А. | b9 |
| Макаров Д. | b10 |
| Михайлова И. | b11 |
| Орлова Т. | b12 |
| Парьев Д. | b13 |
| Першина А. | b14 |
| Решетников Н. | b15 |
| Семенов А. | b16 |
| Серов Д. | b17 |
| Смирнова М. | b18 |
| Сорокин А. | b19 |
| Тимофеев С. | b20 |
| Тюлькин А. | b21 |
| Федяков М. | b22 |
| Яковлев Д. | b23 |
Для выполнения работы необходимо:
- Выполнить fork репозитария в свой аккаунт.
- Выполнить клонирование репозитария из своего аккаунта к себе на локальную машину (
git clone). - Создать ветку git с индивидуальным номером (
git branch имя_ветки). - Сделать ветку активной (
git checkout имя). - Необходимо разместить как исходные файлы с решениями задач, поместив cpp файлы в src, а заголовочные - в include.
- Добавить файлы в хранилище (
git add). - Выполнить фиксацию изменений (
git commit -m "комментарий"). - Отправить содержимое ветки в свой удаленный репозитарий (
git push origin имя_ветки).
