Отключить клиента
Закрывает WebSocket-соединение по его uuid. Нужна, когда зависший или забытый клиент держит соединение: занимает место в лимите соединений приложения или забирает часть данных, если подписан. uuid берут из connections_list.
Запрос и ответ: connection_kill → connection_kill_resp.
Доступ: токен любого уровня.
Запрос
Поля без пометки «обязательно» можно не передавать.
| Поле | Тип | Описание |
|---|---|---|
cmd | string | connection_kill |
operation_id | string | Произвольная строка; сервер вернёт её в ответе — по ней сопоставляют запрос и ответ |
uuid | string | Обязательно. Идентификатор соединения из connections_list, 32 hex-символа |
{
"cmd": "connection_kill",
"operation_id": "abc",
"uuid": "437dc414577d4efda7121e78849bfa7a"
}
Ответ
| Поле | Тип | Описание |
|---|---|---|
cmd | string | connection_kill_resp |
operation_id | string | Значение из запроса |
status | uint8 | 1 — соединение найдено и закрывается, 2 — ошибка |
error_code, error_text | uint8, string | Только при ошибке, см. ниже |
{
"cmd": "connection_kill_resp",
"operation_id": "abc",
"status": 1
}
Ошибки
error_code | error_text | Что случилось |
|---|---|---|
| 1 | Connection UUID not found | Не передан uuid, соединения с таким uuid уже нет или его обслуживает другой экземпляр сервера |
Что важно знать
- Ответ приходит до закрытия.
status: 1значит, что сервер нашёл соединение и закрывает его. Убедиться, что соединение закрыто, можно повторным запросомconnections_list. - Отключённый клиент не получает сообщения. Сервер обрывает его соединение без кадра Close; клиент видит обрыв, например код 1006 в браузерном WebSocket. Его подписка на данные снимается.
- Клиент может подключиться снова. Команда не блокирует клиента: если он настроен переподключаться, он подключится заново.
- Своё соединение тоже можно закрыть. Если передать собственный
uuid, сервер пришлёт ответ и сразу закроет текущее соединение. - Только соединения того же экземпляра сервера.
connections_listпоказывает соединения со всех экземпляров сервера, аconnection_killнаходит только соединения того экземпляра, к которому подключены вы. Для остальных ответ — ошибка 1.
См. также
connections_list— список соединений приложения и ихuuid.- Подключение — когда ещё сервер закрывает соединение.