Skip to main content

Отключить клиента

Закрывает WebSocket-соединение по его uuid. Нужна, когда зависший или забытый клиент держит соединение: занимает место в лимите соединений приложения или забирает часть данных, если подписан. uuid берут из connections_list.

Запрос и ответ: connection_kill → connection_kill_resp.
Доступ: токен любого уровня.

Запрос​

Поля без пометки «обязательно» можно не передавать.

ПолеТипОписание
cmdstringconnection_kill
operation_idstringПроизвольная строка; сервер вернёт её в ответе — по ней сопоставляют запрос и ответ
uuidstringОбязательно. Идентификатор соединения из connections_list, 32 hex-символа
{
"cmd": "connection_kill",
"operation_id": "abc",
"uuid": "437dc414577d4efda7121e78849bfa7a"
}

Ответ​

ПолеТипОписание
cmdstringconnection_kill_resp
operation_idstringЗначение из запроса
statusuint81 — соединение найдено и закрывается, 2 — ошибка
error_code, error_textuint8, stringТолько при ошибке, см. ниже
{
"cmd": "connection_kill_resp",
"operation_id": "abc",
"status": 1
}

Ошибки​

error_codeerror_textЧто случилось
1Connection UUID not foundНе передан uuid, соединения с таким uuid уже нет или его обслуживает другой экземпляр сервера

Что важно знать​

  • Ответ приходит до закрытия. status: 1 значит, что сервер нашёл соединение и закрывает его. Убедиться, что соединение закрыто, можно повторным запросом connections_list.
  • Отключённый клиент не получает сообщения. Сервер обрывает его соединение без кадра Close; клиент видит обрыв, например код 1006 в браузерном WebSocket. Его подписка на данные снимается.
  • Клиент может подключиться снова. Команда не блокирует клиента: если он настроен переподключаться, он подключится заново.
  • Своё соединение тоже можно закрыть. Если передать собственный uuid, сервер пришлёт ответ и сразу закроет текущее соединение.
  • Только соединения того же экземпляра сервера. connections_list показывает соединения со всех экземпляров сервера, а connection_kill находит только соединения того экземпляра, к которому подключены вы. Для остальных ответ — ошибка 1.

См. также​

  • connections_list — список соединений приложения и их uuid.
  • Подключение — когда ещё сервер закрывает соединение.