Получить список подключённых клиентов
Возвращает все открытые WebSocket-соединения приложения, включая текущее. По списку видно, сколько клиентов работает с приложением и какие из них подписаны на данные. uuid из списка нужен, чтобы отключить соединение командой connection_kill.
Своё соединение в списке узнают по uuid из сообщения connected, которое сервер присылает при подключении.
Запрос и ответ: connections_list → connections_list_resp.
Доступ: токен любого уровня; в списке только соединения приложения, к которому выполнено подключение.
Сервер отвечает командой connections_list_resp, а не connections_list, как указано в описании v0.17.
Запрос
Поля без пометки «обязательно» можно не передавать.
| Поле | Тип | Описание |
|---|---|---|
cmd | string | connections_list |
operation_id | string | Произвольная строка; сервер вернёт её в ответе — по ней сопоставляют запрос и ответ |
{
"cmd": "connections_list",
"operation_id": "abc"
}
Ответ
| Поле | Тип | Описание |
|---|---|---|
cmd | string | connections_list_resp |
operation_id | string | Значение из запроса |
status | uint8 | Всегда 1 |
connections | array | Открытые соединения приложения, см. ниже |
Элемент connections:
| Поле | Тип | Описание |
|---|---|---|
uuid | string | Идентификатор соединения, 32 hex-символа. Тот же, что в connected |
consume | bool | true — соединение подписано на данные: командой consume_req или автоматически при подключении |
peer | string | Адрес и порт, с которых сервер принял соединение, в виде tcp4:адрес:порт. Если перед сервером стоит прокси, здесь адрес прокси, а не клиента |
{
"cmd": "connections_list_resp",
"operation_id": "abc",
"status": 1,
"connections": [
{
"uuid": "80f0769cae484a4ea7a22a023f2f6379",
"consume": true,
"peer": "tcp4:172.20.0.1:56758"
},
{
"uuid": "437dc414577d4efda7121e78849bfa7a",
"consume": false,
"peer": "tcp4:172.20.0.1:56770"
}
]
}
Ошибки
Кодов ошибок у команды нет. Если сервер не смог получить список, вместо connections_list_resp придёт invalid_command_req с вашим operation_id — повторите запрос позже.
Что важно знать
- В список попадают соединения приложения со всех экземпляров сервера, а
connection_killнаходит только соединения того экземпляра, к которому подключены вы. Если ONS работает в нескольких экземплярах, не каждое соединение из списка удастся отключить. consumeпоказывает подписку на данные устройств. Подписку на статусы downlink (downlink_status) список не показывает.
См. также
connection_kill— отключить соединение поuuid.- Подключение — сообщение
connectedи лимит соединений.