Echolot
Запросы

Socket.IO

Присоединяйтесь к пространству имён Socket.IO с данными авторизации, отправляйте события с аргументами и подтверждениями и читайте журнал событий.

Запрос Socket.IO подключается к серверу Socket.IO, присоединяется к пространству имён и остаётся подключённым: вы отправляете события и видите события сервера по мере их прихода. Echolot поддерживает Socket.IO 2, 3 и 4 поверх WebSocket.

Realtime › Support chat, подключённый к локальному серверу: вкладка «События» с пространством имён /support, сохранённым событием Say hello и журналом с отправленным событием и ответом сервера

Попробуйте на Alpenglow

Realtime › Support chat подключается к локальному серверу Socket.IO на localhost:3001 из папки examples/servers репозитория документации (bun run realtime).

Подключение

  1. Выберите Файл › Новый запрос Socket.IO или Новый запрос Socket.IO в меню + рядом с Запросы в боковой панели.
  2. Введите адрес сервера, например http://localhost:3001 (в Alpenglow — {{realtimeURL}}). Подходят http://, https://, ws:// и wss://.
  3. Выберите версию сервера в меню значка SIO перед адресом: Socket.IO 4, Socket.IO 3 или Socket.IO 2.
  4. Выберите Соединить (⌘R). Пока соединение установлено, кнопка называется Отключиться.

В редакторе есть вкладки: Документация, События, Заголовки, Параметры, Авторизация, Переменные, Тесты, Скрипты и Настройки. Заголовки, параметры запроса и авторизация уходят с рукопожатием WebSocket.

Пространство имён, путь и авторизация

Верх вкладки События задаёт, как клиент присоединяется:

ПолеЧто это
Пространство имёнПространство имён для присоединения, например /support. Пусто — присоединяется к пути адреса или к /
ПутьГде слушает сервер. Пусто означает значение по умолчанию, /socket.io/
АвторизацияДанные авторизации — объект JSON вроде {"token": "{{token}}"}. Socket.IO 3 и 4 отправляют их при присоединении к пространству имён. Пусто — без них

Храните токен в секретной переменной и пишите в данных {{token}}, чтобы значение никогда не попадало в файл запроса. Сервер, отказавший в подключении, отвечает ошибкой, которую журнал показывает красным.

Отправка событий

Внизу вкладки События:

  1. Введите имя события, например message.
  2. Введите его аргументы в виде JSON с {{variables}}. Массив — это несколько аргументов; любое другое значение — единственный аргумент. Оставьте пустым, если аргументов нет.
  3. Отметьте Ack, чтобы попросить сервер подтвердить событие.
  4. Выберите Отправить (⇧⌘↩).

Например, событие message с аргументами {"text": "Grüezi!"} отправляет один объект, а ["order", {"id": "ord_7Hk2Lw"}] — два аргумента.

Выберите +, чтобы сохранить событие вместе с запросом. У каждого сохранённого события есть имя, событие, его аргументы, Ack и собственная кнопка Отправить. Отправлять в прогонах — флажок в её начале — решает, будет ли событие отправляться, когда запрос выполняется без вас: Прогон, командная строка и агенты отправляют включённые события по порядку после присоединения, слушают 10 секунд и закрываются. В Support chat одно сохранённое событие — Say hello.

Журнал событий

Вкладка Сообщения области ответа показывает сеанс: каждое событие в обе стороны, самые новые последними, с временем и размером.

  • Каждая строка показывает имя события и пространство имён, а также идентификатор подтверждения, если оно запрошено. Подтверждение показывает идентификатор, на который отвечает.
  • Все, Отправлено и Получено фильтруют по направлению; Фильтр событий находит события по имени или тексту.
  • Ещё форматирует аргументы JSON с отступами.
  • Когда сервер присылает событие, запрашивающее подтверждение, Подтвердить отвечает на него без аргументов.
  • Двоичные вложения, пришедшие с событием, показываются под ним, каждое как Вложение 1, Base64: ….

Пакет Socket.IO принимает не более 1000 вложений общим размером до 64 МБ.

Когда соединение закрывается, сеанс сохраняется в Истории, а журнал становится телом ответа.

Из командной строки

echolot send --socketio подключается из терминала: каждая введённая строка — событие и его аргументы JSON. Он также запускает сохранённые запросы .sio.toml. См. echolot send.

На этой странице