Swift3でMQTTクライアント(Moscapsule)で受信したら送信処理を記載したいです。
以下のように記載したらいけるのかなーと思いましたが、コンパイルすら通らないです。
onMessageCallbackで受けた時に
mqttClient.publishString(sendMsg, topic: mqttSendId, qos: 0, retain: false)
で送信したいのですが、mqttClientが未定義なので。。。
mqttClientはクラス内のグローバルに宣言できるのでしょうか?
どのように実施すれば良いかご教授をお願いします。
Moscapsuleのライブラリを他のものにした方が使いやすいなどもありましたらお願いします。
swift3
1import Moscapsule 2 3class mqttSend { 4 public func send(finished: @escaping ((_ isSuccess: String)->Void) ) { 5 // set MQTT Client Configuration 6 let mqttConfig = MQTTConfig(clientId: mqttCliId, host: mqttBrokerHost, port: Int32(mqttBrokerPort), keepAlive: Int32(mqttBrokerKeep)) 7 // MQTTコネクション応答処理 8 mqttConfig.onConnectCallback = { returnCode in } 9 // MQTT受信処理 10 mqttConfig.onMessageCallback = { mqttMessage in 11 self.receiveFlag3 = false 12 if (resData == "OK") { 13 // 送信 14 mqttClient.publishString(sendMsg, topic: mqttSendId, qos: 0, retain: false) 15 } else { 16 // コネクション接続失敗 17 NSLog("MQTT job3Error") 18 finished("job3Err") 19 } 20 } 21 // create new MQTT Connection 22 let mqttClient = MQTT.newConnection(mqttConfig) 23 } 24}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/28 06:08