Высокопроизводительный асинхронный general purpose TCP-сервер на Java, на основе неблокирующего ввода-вывода Java NIO.
Для сборки и запуска проекта требуется Java Development Kit (JDK) версии 21.
Сборка проекта и запуск тестов выполняются стандартными командами Gradle Wrapper:
./gradlew testДля запуска сервера локально выполните:
./gradlew runПо умолчанию сервер считывает конфигурацию из файла ресурсов server.properties и запускается на 127.0.0.1:8080. Для ручной отправки сообщений можно использовать утилиту netcat:
nc 127.0.0.1 8080Сервер может быть легко запущен в виде легковесного изолированного Docker-контейнера на базе JRE Alpine.
Сборка образа:
docker build -t tcp-server:latest .Запуск контейнера с пробросом порта:
docker run -d -p 8080:8080 --name tcp-server tcp-server:latestВ репозитории настроен рабочий процесс GitHub Actions, который при любом пуше в ветку main автоматически выполняет сборку Docker-контейнера и публикует готовый образ в хранилище GitHub Container Registry (GHCR).