DrvMqttClient — V6

Просмотр 13 сообщений - с 31 по 43 (из 43 всего)
  • Автор
    Сообщения
  • #25686
    Romiros
    Участник

    А MQTT Client поддерживает подключение через TLS?

    #25700
    Romiros
    Участник

    Пока добавил поддержку TLS в исходник драйвера, это помогло, но может есть лучше вариант?

    #25704
    Mikhail
    Модератор

    Если параметр нужен, то лучший вариант — добавить его в драйвер для всех.
    Опубликуйте, пожалуйста, те изменения кода, которые потребовалось добавить.

    #25711
    Romiros
    Участник

    Михаил, я сильно не заморачивался. Просто добавил в этот метод https://github.com/RapidScada/scada-v6/blob/4c535c457a350a1b0ad077cbee0bd3b8de801e58/ScadaComm/OpenDrivers/DrvMqtt.Common/MqttConnectionOptions.cs#L101
    следующий код:

    
    if (true)
          builder.WithTls();
    

    по идее нужно просто добавить чекбокс в форму настроек канала MQTT.

    #25723
    Mikhail
    Модератор

    Зато проверили, что данный метод сработал. Как добавим, напишу в эту тему.

    #25799
    Mikhail
    Модератор

    Параметр использования TLS появится в следующем релизе.

    #25808
    Romiros
    Участник

    Спасибо большое.

    #26064
    Romiros
    Участник

    Версия RC1. Параметры TLS не сохраняются и не загружаются во вьюшке канала связи. В логике всё работает. Пока добавляю вручную в конфиг.

    #26070
    Mikhail
    Модератор

    Действительно. Будем исправлять. Спасибо.

    #26108
    Mikhail
    Модератор

    Исправлено. Исправление войдёт в следующий релиз.

    #26352
    Romiros
    Участник

    Добрый день. Можно добавить небольшое пожелание?
    Есть такой параметр Идентификатор клиента (ClientID). Он должен быть уникальным для каждого клиента MQTT, иначе начинаются проблемы с обменом данными с брокером. Сейчас оно задается вручную и это неудобно при отладке проекта на локальной машине и дальнейшей передачи конфигурации на боевой сервер. При работе двух систем с одинаковым ClientID возникает конфликт при передачи информации. Данные нормально получает только первый клиент. Приходится в одной из систем править этот параметр вручную. Мелочь, но очень неудобно. Можно сделать это поле вообще автоматически генерируемым, либо добавлять к введенному ClientID пользователем какое-то генерируемое значение. В ScadaUtils вроде было готовое решение для генерации.
    Просто даже если без отладки, а при подключении к одному брокеру двух scada с одинаковым конфигом будет возникать проблема с получением данных.
    С точки зрения работы MQTT это наименование вообще никакой роли кроме уникальности не играет.

    • Этот ответ был изменен 1 год, 4 месяца назад от Romiros.
    #26366
    Mikhail
    Модератор

    Добрый день!
    Если я правильно понимаю, то при пустом ClientID он генерируется автоматически внутри библиотеки. Как у Вас работает, если оставить ClientID пустым?

    #26369
    Romiros
    Участник

    Да, можно оставлять пустым. Тогда вопрос снимается 🙂

Просмотр 13 сообщений - с 31 по 43 (из 43 всего)
  • Вы должны авторизироваться для ответа в этой теме.