Skip to main content

Получить список подключённых клиентов

Возвращает все открытые WebSocket-соединения приложения, включая текущее. По списку видно, сколько клиентов работает с приложением и какие из них подписаны на данные. uuid из списка нужен, чтобы отключить соединение командой connection_kill.

Своё соединение в списке узнают по uuid из сообщения connected, которое сервер присылает при подключении.

Запрос и ответ: connections_list → connections_list_resp.
Доступ: токен любого уровня; в списке только соединения приложения, к которому выполнено подключение.

Текущая версия ONS

Сервер отвечает командой connections_list_resp, а не connections_list, как указано в описании v0.17.

Запрос​

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

ПолеТипОписание
cmdstringconnections_list
operation_idstringПроизвольная строка; сервер вернёт её в ответе — по ней сопоставляют запрос и ответ
{
"cmd": "connections_list",
"operation_id": "abc"
}

Ответ​

ПолеТипОписание
cmdstringconnections_list_resp
operation_idstringЗначение из запроса
statusuint8Всегда 1
connectionsarrayОткрытые соединения приложения, см. ниже

Элемент connections:

ПолеТипОписание
uuidstringИдентификатор соединения, 32 hex-символа. Тот же, что в connected
consumebooltrue — соединение подписано на данные: командой consume_req или автоматически при подключении
peerstringАдрес и порт, с которых сервер принял соединение, в виде 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) список не показывает.

См. также​