什么是MQTT?
MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸)是IBM開發(fā)的一個即時通訊協(xié)議。該協(xié)議支持所有平臺,幾乎可以把所有聯(lián)網(wǎng)物品和外部連接起來,被用來當(dāng)做傳感器和致動器(比如通過Twitter讓房屋聯(lián)網(wǎng))的通信協(xié)議。
怎么用MQTT?
1.項目中可能有多個地方有使用MQTT,可以創(chuàng)建一個單例類。

單例對象,方便外部多個地方調(diào)用
2.初始化,建立連接并接受消息和訂閱主題

初始化操作
訂閱主題和取消訂閱的方法

訂閱主題和取消訂閱的方法
當(dāng)要斷開連接和重連時的操作

斷開連接和重連時的操作
重點的部分!在Block中,可以將收到的message傳到外部,在這里可以用通知,也可以用RAC,將消息以數(shù)據(jù)流的形式傳遞出去。

收到的message方法
發(fā)送消息的方法
- (void)sendText:(NSString *)content toTarget:(NSString *)target backBlock:(MqttBlackBlock)balckBlock
{
self.balckBlock = balckBlock;
[self sendText:content toTarget:target];
}