Я создаю одно приложение для iOS, связывающееся с Mqtt-брокером, в основном для публикации сообщений. Но когда я пытаюсь соединиться с брокером, используя библиотеку CocoaMQTT, это всегда дает мне ошибку в соединении.
Я пытаюсь использовать последнюю версию CocoaMQTT, а также версию 1.1.3. Но оба терпят неудачу в соединении и дают мне ошибку
(Ошибка домена = kCFStreamErrorDomainNetDB Code = 8 "nodename или servname
предоставлен или неизвестен "UserInfo = {NSLocalizedDescription = имя узла или
имя сервера указано или не известно})
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss.SSS"
let dateString = formatter.string(from: date)
let clientID = "smart-curtain-"+dateString
mqttClient = CocoaMQTT.init(clientID: clientID, host:
contantData.MQTT_BROKER_URL, port: UInt16(1883))
mqttClient.username = nil
mqttClient.password = nil
mqttClient.autoReconnect = true
mqttClient.allowUntrustCACertificate = true
mqttClient.keepAlive = 60
mqttClient.enableSSL = false
Таким образом, он всегда заканчивается mqttDidDisconnect
методом делегата. URL моего брокера - tcp: //xyz.com (xyz - просто пример), а порт - 1883. Я пробовал 2-3 Mqtt платных приложения с моего iPhone, чтобы подключиться к деталям брокера, но никто не смог подключить его.
Но те же настройки работают нормально в приложении для Android. (он использует net.igenius: mqttservice: 1.6.4) (этот брокер не требует аутентификации)