Не авторизован для подключения (5)

Машина подключилась к утешению, и я хочу подключить другую машину, но она предупреждает об исключении, как показано ниже:

org.eclipse.paho.client.mqttv3.internal.ExceptionHelper.createMqttException(ExceptionHelper.java:28)

org.eclipse.paho.client.mqttv3.internal.ClientState.notifyReceivedAck(ClientState.java:885)

org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:118) java.lang.Thread.run(неизвестный источник)

Если я отключу одну машину, другая машина может подключиться. Можно ли подключить только одну машину по умолчанию? Если да, то как настроить, чтобы многие машины могли подключаться.


person Jeffrey    schedule 11.05.2016    source источник


Ответы (1)


Вполне вероятно, что оба экземпляра вашего приложения пытаются подключиться с использованием одного и того же clientId. Протокол MQTT требует, чтобы каждое клиентское соединение использовало уникальный clientId.

3.1.3.1 Идентификатор клиента

Идентификатор клиента (ClientId) идентифицирует Клиента для Сервера. Каждый Клиент, подключающийся к Серверу, имеет уникальный ClientId. ClientId ДОЛЖЕН использоваться Клиентами и Серверами для определения состояния, которое они сохраняют в отношении этого сеанса MQTT между Клиентом и Сервером [MQTT-3.1.3-2].

Для внедрения Solace Systems,

  • ClientId могут иметь длину до 128 байт.
  • ClientIds может содержать любые символы UTF-8, разрешенные разделом 1.5.3.
person Russell Sim    schedule 11.05.2016