Невозможно прочитать текст с основного сигнального сервера .net с помощью Single Read Sampler в Jmeter - PullRequest
0 голосов
/ 10 января 2019

Я пытаюсь загрузить наше веб-приложение, которое представляет собой игровое приложение в реальном времени, написанное с использованием кода с использованием ядра asp.net и технологии сигнализатора. Мы используем JMeter WebSocket Samplers от Peter Doornbosch для связи через websocket. Но мы не можем получить никаких сообщений от сервера сигнализатора (кроме ping-кадров из слоя websocket). Текстовое сообщение, которое я пытаюсь прочитать, представляет собой широковещательную рассылку от сервера всем подключенным клиентам, поэтому я вижу, что сообщение получено клиентами браузера, но клиент jmeter не получает его. Я прослушал трафик как для браузера, так и для клиента jmeter и обнаружил, что сообщения сервера вообще не принимаются в клиенте jmeter, а в браузере. Поэтому мне кажется, что на начальном этапе установления соединения мне не хватает какого-либо параметра или заголовка, поэтому сервер не может обнаружить клиент jmeter, даже если в это время соединение webSocket открыто и на клиент jmeter поступает пинг уровня веб-сокета.

Что сделано в Jmeter: -

  1. HTTP-запрос к конечной точке сервера сигнализатора и получение идентификатора соединения в качестве ответа, извлеките его и сохраните в переменной jmeter.
  2. Использование Single Write Sampler для установки нового подключения к веб-сокету с использованием идентификатора соединения, полученного на шаге 1, и отправка текстового фрейма для установки протокола данных Signalr "{" protocol ":" json "}". (Скопировано, как видно в консоли разработчика браузера)
  3. Используя существующее соединение, еще один сэмплер с однократной записью для отправки текста, вызывающего функцию-концентратор-сигнализатор, для добавления в группу-сигнализатор. Здесь в функции-концентраторе есть широковещательная передача, записанная для всех подключенных клиентов.
  4. Использование сэмплера Single Read Sampler для чтения широковещательной рассылки с сервера, упомянутого в шаге 3. Этот шаг всегда приводит к ошибке времени ожидания ответа в jmeter.

Кто-нибудь, имеющий опыт работы с jmeter и singnalr, используя webSocket в качестве транспорта, может пролить немного света? Любые предложения приветствуются. Заранее спасибо

1 Ответ

0 голосов
/ 10 января 2019

В соответствии с просьбой спрашивающего здесь мой комментарий в качестве ответа:

Для шага записи Мне пришлось отправить квадратный символ в конце , я мог видеть это в консоли разработчика браузера, когда проверял, что делает веб-сайт. Насколько я понимаю, это означает «конец» вашего запроса. Без этого квадратного персонажа это не сработало бы для меня.

Я не могу сказать, что это за Unicode, этот квадратный символ, но, похоже, он сигнализирует об окончании записи сигнала.

Я проверил юникоды, и может быть таким: □ который Unicode 9633

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...