-1
我正在通過MQTT與GLOBAL_QUEUE_PRIORITY_HIGH
進行連接。它是否正確?因爲我的UI需要時間來回應。GLOBAL_QUEUE_PRIORITY_DEFAULT停止用戶界面響應
dispatch_async(dispatch_get_global_queue(GLOBAL_QUEUE_PRIORITY_HIGH,0),{
guard self.session != nil else {
fatalError("Could not create MQTTSession")
}
let transportSocket:MQTTCFSocketTransport = MQTTCFSocketTransport()
transportSocket.host = MQTT_HOST;
transportSocket.port = MQTT_PORT;
self.session!.transport = transportSocket
self.session!.delegate = self
self.session!.userName = token
self.session!.password = userId
self.session!.keepAliveInterval = 300
self.session!.cleanSessionFlag = false
self.connect()
})
我想將它從主線程分開。這就是我爲什麼這麼做的原因。請告訴我這是否正確。
我不是很深入MQTTFramework,但我已經看到了它的測試類是:是否能夠執行同步或異步MQTTSession如果你可以將其設置爲異步,我很確定它不會影響,如果它不在主隊列中執行,請參閱:https://github.com/ckrey/MQTT-Client-Framework/blob/master/MQTTClient/MQTTClient/MQTTSession.m 45行 @property(nonatomic)BOOL synchronConnect; – Lepidopteron