Skip to content

Простейшие websocket client&server для ознакомления и тестирования с 1С

Notifications You must be signed in to change notification settings

240596448/websocket-learn

Repository files navigation

Простой WebSocket клиент и сервер

Простейшие примеры WebSocket клиента и сервера на Python без асинхронности.

Установка

pip install -r requirements.txt

Запуск

1. Запустите сервер

В одном терминале:

python server.py

Сервер запустится на ws://127.0.0.1:8765

2. Запустите клиент

В другом терминале:

python client.py

Клиент подключится к серверу и отправит тестовое сообщение.

Использование

  • Сервер принимает подключения и сообщения от клиентов
  • Клиент подключается к серверу и может отправлять сообщения
  • Все сообщения выводятся в консоль
  • И клиент, и сервер поддерживают ввод сообщений прямо в терминале

Для остановки нажмите Ctrl+C в терминале с сервером или клиентом.

Замер производительности

Клиент поддерживает режим замера производительности для тестирования скорости отправки сообщений.

Базовое использование

Запустите клиент с флагом --benchmark:

python client.py --benchmark

По умолчанию замер выполняется в течение 10 секунд с выводом статистики каждую секунду.

Параметры замера

  • --benchmark - включить режим замера производительности
  • --duration <секунды> - длительность замера (по умолчанию: 10)
  • --interval <секунды> - интервал для вывода статистики (по умолчанию: 1)
  • --url <url> - URL WebSocket сервера (по умолчанию: ws://127.0.0.1:8765)

Примеры

Замер на 30 секунд с выводом статистики каждые 2 секунды:

python client.py --benchmark --duration 30 --interval 2

Замер на 60 секунд с выводом статистики каждые 5 секунд:

python client.py --benchmark --duration 60 --interval 5

Что показывает замер

В процессе выполнения:

  • Каждые N секунд (по параметру --interval) выводится:
    • Время с начала замера
    • Количество отправленных сообщений за интервал
    • Скорость отправки (сообщений/секунду)

По завершении:

  • Общее количество отправленных сообщений
  • Общее время выполнения
  • Средняя скорость отправки (сообщений/секунду)

Особенности режима бенчмарка

  • Сервер автоматически распознает режим бенчмарка и не выводит каждое тестовое сообщение в консоль
  • Вместо этого сервер показывает только служебные сообщения:
    • "Выполняется замер производительности..." - при начале замера
    • "Замер завершен" - при окончании замера
  • Клиент также не выводит ответы сервера на тестовые сообщения, чтобы не засорять консоль

About

Простейшие websocket client&server для ознакомления и тестирования с 1С

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published