问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

mqttclient怎么发送消息

发布网友 发布时间:2022-04-21 15:29

我来回答

1个回答

热心网友 时间:2022-05-23 15:51

通过Cocoa Pods添加MQTTKit
MQTTKit在github上 //github com/NormanLeeIOS/MQTTKit#send-a-message,down下来。
cd到工程目录,输入pod install,用xcode打开工程的打开xcworkspace扩展名的文件。
如果不是MQTTKit存在更新的版本,则输入pod update。
新建一个MQTT的服务请求
NSString *clientID = ...
MQTTClient *client = [[MQTTClient alloc] initWithClientId:clientID];

发送消息,每次发送消息包括目标host和本地MQTT消息.具体MQTT格式消息见代码。这里Host可以是Server的IP,不需要host表解析。
// connect to the MQTT server
[self.client connectToHost:@"iot.eclipse.org"
completionHandler:^(NSUInteger code) {
if (code == ConnectionAccepted) {
// when the client is connected, send a MQTT message
[self.client publishString:@"Hello, MQTT"
toTopic:@"/MQTTKit/example"
withQos:AtMostOnce
retain:NO
completionHandler:^(int mid) {
NSLog(@"message has been delivered");
}];
}
}];

订阅主题并接受MQTT格式的消息,这部分在viewdidload中实现。
// define the handler that will be called when MQTT messages are received by the client
[self.client setMessageHandler:^(MQTTMessage *message) {
NSString *text = [message.payloadString];
NSLog(@"received message %@", text);
}];

// connect the MQTT client
[self.client connectToHost:@"iot.eclipse.org"
completionHandler:^(MQTTConnectionReturnCode code) {
if (code == ConnectionAccepted) {
// when the client is connected, subscribe to the topic to receive message.
[self.client subscribe:@"/MQTTKit/example"
withCompletionHandler:nil];
}
}];

断开连接
[self.client disconnectWithCompletionHandler:^(NSUInteger code) {
// The client is disconnected when this completion handler is called
NSLog(@"MQTT client is disconnected");
}];

整个连接建立、发送消息、接受消息、断开连接都是通过Block的消息机制来实现,因此需要对block有很好地理解。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
易企秀如何分享链接给微信好友?-易企秀分享链接给微信好友的方法 华为荣耀3c系统辅助功能服务老是自动关闭,求解决方案。 我用一键清理忽... 华为荣耀3c手机双击唤醒屏幕不好用了怎么办? 荣耀手机刷机包从哪下 木地板为啥走过会响 瓷砖块要斜成几度角人踩上去不会烂 刚出生的婴儿肚子胀怎么办 新生儿涨肚子按摩图 刚生小宝宝胀气怎么办 白果怎么炒好吃 白果可以制作哪些美食 怎样从MQTT 服务器 应答中获取时间戳? mqtt 服务器 哪个好 activemq rabbitmq mosquitto 怎么将消息发送到mqtt代理服务器 ubuntu mqtt 服务怎么搭建 apollo搭建mqtt服务器,手机怎么连接服务器 为啥连接mqtt服务器直接可以接收到消息 如何设置mqtt服务器的账号密码 如何采用mqtt协议实现android消息推送 android推送xmpp和mqtt单台服务器支持连接多少,并发多少,求两种协议比较,有测试过的吗? 如何看待百度开放云物联网服务"原生支持mqtt协议 MQTT比TCP协议好在哪儿 简拼APP只看到了竖着拼图的,怎么把两张图横着拼呢? 美图秀秀拼图图片连接怎么能把照片弄成横着的 将两张图片横向拼接在一起的手机软件是什么 手机版美图秀秀图片拼接如何变成横版? 手机上什么软件能把照片横向排列变成一张照片 有没有拼图软件能拼出横向的图? 有没有什么软件可以做多图拼图? 用什么软件横着拼图片? 希望大家以后答题的时候注意文明素养,以此为鉴 Mqtt 能传txt吗 乒乓球曾培勋哪年出生? 乒乓球是中国的国球,都曾包揽过哪些冠军? 曾经历史上最优秀的乒乓球运动员有哪些? 曾7夺乒乓球世界冠军,获法国勋章,她是谁呢? 曾是乒乓球界的天才,打败两大世界冠军,她是谁呢? 中国乒乓球发展史 中国乒乓球名人榜上有哪些人? 乒乓球是从哪个国家?何时传入中国的? 乒乓球起源于什么时候? 中国连续三次乒乓球单打世界冠军是 中国男子乒乓球队历任队长 曾经饱受争议的乒乓球冠军“王楠”后来怎么样了? 中国乒乓球教练有哪些人? 刘国梁的乒乓球技术如何?他为何曾被戏称为不会打球的胖子呢? 49岁前女乒国手出山,曾夺下7次世界冠军,她是谁呢? 乒乓球的发展史 昔日乒坛世界冠军陈龙灿近况如何?他曾经有哪些战绩? 中国乒乓球各时期的男女领军人物 转转号被永久封禁 会影响个人的什么吗?