/simple-async-servers

Примеры асинхронных http и tcp серверов.

Primary LanguagePython

workflow

Примеры шаблонов асинхронных HTTP и TCP серверов.

Небольшой пример HTTP-сервера на сокетах с использованием поллинга событий ОС. А также пример TCP-сервера на asyncio-стримах.

После запуска работу http-сервера можно проверить при помощи утилиты telnet:

# Подключение к серверу
telnet 127.0.0.1 8888  # linux

open telnet 127.0.0.1 8888  # windows

После подключения сервер обрабатывает следующие команды:

hi  # возвращает приветствие "Welcome!"

time  # возвращает текущее время

echo  # возвращает "echo"

info  # возвращает некоторые параметры системы (cpu count, memory space, disk space)

quit  # закрывает соединение

Работу tcp-сервера можно проверить аналогично через telnet:

# Подключение к серверу
telnet 127.0.0.1 8888  # linux

open telnet 127.0.0.1 8888  # windows

После запуска сервер работает в режиме echo. Каждые 2 секунды возвращает время и количество активных подключений. Если время простоя более 5 сек. - возвращается предупреждение с обратным отсчетом. Если время простоя превысит 10 сек. - соединение автоматически разрывается.

Python