Кроссплатформенное десктопное приложение для обмена мгновенными сообщениями и передачи файлов, реализованное на C# (.NET). Проект демонстрирует гибридную архитектуру связи: Клиент-Сервер (для работы через интернет) и P2P (прямое соединение в локальной сети), а также закладывает фундамент для шифрования данных.
Стек:C#, .NET 10, WPF, Sockets (TCP), NetworkStream, Console App, JSON, AesGcm Cryptography, XAML, MVVM, P2P, LAN.
Основные возможности
- Режим Клиент-Сервер: Работа через центральный сервер (удаленные пользователи, общий чат, передача файлов);
- Режим P2P (Peer-to-Peer): Прямое соединение между двумя клиентами в одной локальной сети (LAN) без участия сервера для обмена текстом и файлами;
- Текстовые чаты с поддержкой личного общения и общих каналов;
- Отправка файлов любого размера с разбивкой на чанки, индикаторами прогресса и автоматическим сохранением;
- Реализована база для шифрования трафика с использованием алгоритма AES-GCM (ключи генерируются и хранятся локально). В текущей версии работает режим "без шифрования" для отладки;
- Автоматическое определение локального IP, проверка доступности портов, копирование IP в буфер обмена;
- Современный темный интерфейс на WPF с использованием XAML и MVVM-подобной структуры.