wss signed url: Disconnected while waiting for 'Connect Acknowledgment'
JavierRefuerzo opened this issue · 1 comments
Hi,
I've been testing MQTT libraries for Swift for the past two days and this repo appears to be the only Swift library which supports wss. Nice work!
Issues:
I received the log: "notice nl.roebert.MQTTNio : Disconnected while waiting for 'Connect Acknowledgement'"
-
Is there a callback to alert the application when an error like this occurs?
-
I'm not sure how to resolve the issue. The url is a pre-signed AWS url with query string. I have the same working on Android with Eclipse.Paho. Looking at the MQTTConfiguration.swift I don't believe the query string is being included, is this a correct assumption? If that is correct is there any way to add the query string?
var client: MQTTClient!
.....
//signed url
url = wss://a2xxxxxxxx.iot.us-east-1.amazonaws.com/mqtt?X-Amz-Algori.......
...
client = MQTTClient(configuration: .init(url: url, clientId: clientId))
client.connect()
Thanks
Hey, sorry for the late response, I somehow did not get or missed the notification for this issue.
- When you call
connect()
you get anEventLoopFuture
back. You can add a closure for when the connection fails.
client.connect().whenFailure { error in
print("Failed to connect: \(error)")
}
- Currently when using url directly with the configuration, it seems that I am ignoring the query part of the url. I have added a fix for this in release
2.2.1
.