Je construis une application AR dans Unity et j'ai besoin de me connecter à un courtier MQTT avec le protocole TLS activé. Je suis en mesure de se connecter avec succès aux courtiers MQTT non TLS permis (dans l'unité), et je peux utiliser le certificat que l'administrateur m'a donné avec ce programme http://www.mqttfx.org/ pour se connecter au courtier activé TLS avec succès. Mais lorsque je tente de me connecter au serveur compatible TLS avec la bibliothèque m2mqtt pour C# dans Unity, j'obtiens une exception de délai d'attente et je ne reçois jamais de réponse du courtier. C'est le code que j'utilise pour tester la connexion. Je tente juste de faire une connexion réussie, puis déconnecter.Délai MQTT lors de la tentative de connexion au courtier compatible TLS dans unity3d
X509Certificate certificate = X509Certificate.CreateFromCertFile("filePath");
// Connect to this broker address at port 1883 with tls enabled
client = new MqttClient(brokerAddress, port, true, certificate);
// Generate a client id
string clientId = Guid.NewGuid().ToString();
// Connect to the client with credentials
byte code = client.Connect(clientId, username, password;
// Disconnect
client.Disconnect();
Cette exception se produit au cours de connexion:
MqttCommunicationException: An application exception has occurred.
uPLibrary.Networking.M2Mqtt.MqttClient.SendReceive (System.Byte[] msgBytes, Int32 timeout) (at Assets/MQTT/scripts/MqttClient.cs:953)
uPLibrary.Networking.M2Mqtt.MqttClient.SendReceive (uPLibrary.Networking.M2Mqtt.Messages.MqttMsgBase msg, Int32 timeout) (at Assets/MQTT/scripts/MqttClient.cs:976)
uPLibrary.Networking.M2Mqtt.MqttClient.SendReceive (uPLibrary.Networking.M2Mqtt.Messages.MqttMsgBase msg) (at Assets/MQTT/scripts/MqttClient.cs:964)
uPLibrary.Networking.M2Mqtt.MqttClient.Connect (System.String clientId, System.String username, System.String password, Boolean willRetain, Byte willQosLevel, Boolean willFlag, System.String willTopic, System.String willMessage, Boolean cleanSession, UInt16 keepAlivePeriod) (at Assets/MQTT/scripts/MqttClient.cs:456)
uPLibrary.Networking.M2Mqtt.MqttClient.Connect (System.String clientId, System.String username, System.String password, Boolean cleanSession, UInt16 keepAlivePeriod) (at Assets/MQTT/scripts/MqttClient.cs:395)
ConnectionManager.connectToMQTTBroker() (at Assets/Scripts/ConnectionManager.cs:55)
Toute aide serait grandement apprécié. Je suis coincé là-dessus pendant des jours.
Authentification SSL non prise en charge par mqtt – Programmer
Pouvez-vous préciser ce que vous voulez dire s'il vous plaît? J'utilise ce certificat pour se connecter avec succès en utilisant MQTT.FX en utilisant la version 1.2 du protocole TLS. Donc, je suis confus par ce que vous essayez de dire. – TacticalBacn
Aussi http://www.hivemq.com/blog/mqtt-security-fundamentals-tls-ssl – TacticalBacn