Sub ConnectAndReconnect
Do While working
If MQTTClient.IsInitialized Then MQTTClient.Close
'setta main.porta per prevenire errori con l'avvio di Starter. Verrà modificata in seguito
If Main.Porta = "" Then Main.Porta = "1883"
MQTTClient.Initialize("mqtt", "tcp://" & Main.Server & ":" & Main.Porta, Main.IMEITelefono)
Dim mo As MqttConnectOptions
mo.Initialize("myID", "myPW")
mo.CleanSession = True
MQTTClient.Connect2(mo)
Log ("C&R mqtt"& " - "& "tcp://" & Main.Server & ":" & Main.Porta & " - " & Main.IMEITelefono)
Log("Trying to connect")
Wait For mqtt_Connected (Success As Boolean)
If Success Then
Log("Mqtt connected (working=" & working &")")
Connesso = True
MQTTClient.Subscribe( "ahaConn/" & Main.KEY & "/SardroidVersusClients", 0)
Do While working And MQTTClient.Connected
Dim pingstring As String
pingstring = "@" & Main.NAM & ";" & Main.Versione & ";" & Main.IMEITelefono
MQTTClient.Publish2("ahaConn/" & Main.KEY & "/Sardroidping", pingstring.GetBytes("UTF8"), 0, False) 'change the ping topic as needed
Sleep(5000)
Loop
Log("Disconnected")
Connesso = False
Else
Log("Error connecting.")
Connesso = False
End If
Sleep(5000)
Loop
End Sub