日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Mqtt协议IOS端移植3

發布時間:2025/3/15 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mqtt协议IOS端移植3 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ServerMqFramework.h

#import "MqttFramework.h"@interface ServerMqFramework : MqttFramework/*** @brief 得到模塊控制器的句柄單例** @param [in] N/A* @param [out] N/A* @return void* @note*/+(ServerMqFramework*)getMQttServerFrameInstance;- (int)callBusinessProcessEX:(NSString *)capabilityId withMessageType:(NSString *)MessageType WithMessage:(id)messageVector withTopic:(NSString *)topic;@end


ServerMqFramework.m


#import "ServerMqFramework.h" #import "getMacAddress.h"@implementation ServerMqFramework/*** @brief 得到模塊控制器的句柄單例** @param [in] N/A* @param [out] N/A* @return void* @note*/static ServerMqFramework *mqttInstance = nil; +(ServerMqFramework*)getMQttServerFrameInstance {@synchronized(self){if(mqttInstance==nil){mqttInstance=[[self alloc]init];}}return mqttInstance; }#pragma --mark BusinessModuleProtocol delegate - (int)initBusinessModule:(BusinessModuleInfo*)info {info.businessModuleIdEX = @"MqttServerFrameWork";//businessFrameworks_ = info.businessFramework;return 0; }//指定發送到遠程的響應接收者的主題 (實現宏觀上的點對點傳輸) //2012/11/30 modify- (int)callBusinessProcessEX:(NSString *)capabilityId withMessageType:(NSString *)MessageType WithMessage:(id)messageVector withTopic:(NSString *)topic {NSLog(@"server capabilityId = %@ topic = %@ messageVector = %@",capabilityId,MessageType,messageVector);AppDelegate *app = (AppDelegate *)[[UIApplication sharedApplication] delegate];MQTTClient *serverMQTTClient = [app serverMqClient];NSString *sendStr = [[NSString alloc] initWithData:[XmlAdept makeMqttXML:MessageType withDictionary:(NSDictionary *)messageVector] encoding:NSUTF8StringEncoding];// /****************去掉最后換行符********************/int index = sendStr.length-1;sendStr = [sendStr substringToIndex:index];NSString *string = [NSString stringWithFormat:@"**%@**",sendStr];NSLog(@"server senderMesg = %@",string);[serverMQTTClient publishString:sendStr toTopic:topic retain:NO];return 0; }-(void)requestResult:(NSString *)topic withData:(id)resultData {NSLog(@"遠程mq服務器發送業務廣播 給監聽者");[businessFrameworks_ broadcastBusinessNotifyEX:topic withInParam:resultData]; }/*** @brief 定義mqtt消息主題** @param [in] N/A* @param [out] N/A* @return void* @note*/-(void)productTheme:(NSString *)theme {NSLog(@"server theme = %@",theme);AppDelegate *app = (AppDelegate *)[[UIApplication sharedApplication] delegate];MQTTClient *mosq = [app serverMqClient];[mosq setHost:Mqtt_Server_URL];[mosq connect];[mosq subscribe:theme]; }/*** @brief 重連mqtt服務器** @param [in] N/A* @param [out] N/A* @return void* @note*/ -(void)reconnectMqtt {AppDelegate *app = (AppDelegate *)[[UIApplication sharedApplication] delegate];MQTTClient *mosq = [app serverMqClient];[mosq setHost:Mqtt_Server_URL];[mosq reconnect];}#pragma --mark mosquittoclientDelegate- (void) didConnect:(NSUInteger)code {if (code == 0){NSLog(@"連接遠程Mqtt服務器返回碼為:%d 連接mqtt成功",code);}else{NSLog(@"連接遠程Mqtt服務器失敗");}}- (void) didDisconnect {NSLog(@"Server mqtt disconnect!");AppDelegate *app = (AppDelegate *)[[UIApplication sharedApplication] delegate];MQTTClient *mosq = [app serverMqClient];//斷開后自己主動重連//3g或wifi任一可達就重連if ([Common IsEnable3G] || [Common IsEnableWIFI]){[mosq reconnect]; //遠程MQTT服務器端重連NSString *serverTheme = getMacAddress();[mosq subscribe:serverTheme]; //又一次訂閱主題}}//處理各個主題相應的message- (void) didReceiveMessage: (NSString*)message topic:(NSString*)topic {NSLog(@" serverMqtt %@ => %@", topic, message);NSArray *resultArr = [[NSArray alloc]initWithObjects:message, nil];NSArray *list = [XmlAdept mqttParseMessageNode:resultArr];NSString *type = [[list objectAtIndex:0] objectForKey:@"type"];[self requestResult:type withData:list];}/*** @brief 給遠程mqtt服務器發送消息 對外接口** @param [in] N/A* @param [out] N/A* @return void* @note*/+(void)publishMessage:(NSString *)message withTopicType:(NSString *)topicType {AppDelegate *app = (AppDelegate *)[[UIApplication sharedApplication] delegate];MQTTClient *mosq = [app serverMqClient];[mosq publishString:message toTopic:topicType retain:NO]; //消息的retain類型設置為NO讓其不在消息緩沖池中保留 }-(void)dealloc {[super dealloc]; }@end

轉載于:https://www.cnblogs.com/gccbuaa/p/7214395.html

總結

以上是生活随笔為你收集整理的Mqtt协议IOS端移植3的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲最大视频网 | 在线看片a| 亚洲精品视频网址 | 嫩草一区二区三区 | 成人黄色一区二区三区 | 香蕉视频免费在线观看 | 性久久久| 五月婷婷婷婷 | 好吊妞精品视频 | 一本加勒比北条麻妃 | 黑人一区| 68日本xxxxxⅹxxx59 | 贝利弗山的秘密在线观看 | 亚洲永久无码7777kkk | 国产伦精品一区二区三区视频孕妇 | 爱爱免费小视频 | 欧美在线中文字幕 | 都市乱淫 | 亚洲av无码一区二区三区在线观看 | 欧美日韩一二三区 | 亚洲欧美激情图片 | 午夜寂寞剧场 | 大奶骚| 狠狠躁日日躁夜夜躁 | 天天射干 | 六月丁香在线视频 | 日韩中文三级 | 美女扒开尿口让男人爽 | 日本福利在线 | 三级在线国产 | 国产精品18p | 国模视频一区 | 99国内揄拍国内精品人妻免费 | 欧美男优 | 绝顶高潮合集videos | 免费观看成人在线视频 | 日韩人妻无码精品久久久不卡 | 国产精品7777 | 久久久久久久亚洲精品 | 免费大黄网站 | 精品国产乱码久久久久久图片 | 欧美xxxx18 | 强侵犯の奶水授乳羞羞漫虐 | 亚洲综合色av | 精品一区av | 久久精品国产露脸对白 | 人人爽人人爽人人片av | 动漫美女放屁 | 亚洲码国产精品高潮在线 | 91激情视频在线 | 精品国产一级 | sesese99 | 国产一级免费 | 欧美激情电影一区二区 | 国产精品sm| 极品国产一区 | 中文字幕一区二区三区人妻四季 | 国产高清视频免费观看 | 亚洲区小说区图片区 | 免费一级肉体全黄毛片 | 天天舔天天爽 | 激情久久一区 | 欧美丰满老妇性猛交 | 手机在线免费av | 黄色在线资源 | 日韩国产综合 | 黄色片在线视频 | 欧美女人交配视频 | 奇米第四色影视 | 三级色网站 | 精品欧美一区二区三区免费观看 | 午夜家庭影院 | 精品综合在线 | 伊人久久久久久久久久 | 麻豆视频入口 | 黑人无套内谢中国美女 | 无码人妻精品一区二区三区夜夜嗨 | 亚洲综合在线视频 | 久草新免费 | 亚洲精品天堂网 | 91片黄在线观 | 日韩欧美中文字幕在线视频 | 日本少妇一级片 | 婷婷精品 | 久久男人av| 成人网页| 91精选国产 | 日日射天天操 | 欧美色图亚洲自拍 | 精品久久国产视频 | 天堂在线中文字幕 | 四虎影库永久在线 | 国产精品久久久久久久 | 欧美一级淫片免费 | 欧美夜夜爽 | 精品影视 | 久久亚洲在线 | 国产精品久久久午夜夜伦鲁鲁 | 美国av毛片 |