linux c MQTT客户端实现

摘自:https://www.jianshu.com/p/d309de966379

一、前言:
mqtt协议是轻量级的消息订阅和发布(publish/subscribe)协议,建立在TCP/IP协议之上,在物联网应用中广泛使用。

二、源码下载:
链接:https://pan.baidu.com/s/1S1pT_ZZURg21DF5mIBg3pw 密码:tqgh

二使用说明:
1.下载解压出来进入mqtt文件夹内容如图src.png所示:

 
src.png

2.将mqtt文件夹拷贝linux ununtu下面:
在ununtu终端下根据如下步骤执行命令:
1)make clean //清理项目
2)vim mqtt.c //打开mqtt.c文件将如图:ip.png所示格式修改为自己的服务器ip地址、端口、用户名和密码:

 
ip.png

wq保存退出;
3)make //编译项目
./mqtt_demo//运行成功如图data.png所示(运行之前需要运行windows paho帮助测试,在本文下面有介绍)

 
data.png

①:订阅主题:2017/my/todev
②:发布主题:2017/my/toapp
③:接收到数据打印:asdfafs
④:ctrl + c//结束运行

3.运行windows paho来测试mqtt_demo(没有安装可以安装一下连接进行安装:https://www.jianshu.com/p/48c36b72fec2):
1)首先根据图:login.png所示:点击左上角绿色+号->点击选项->输入用户名和密码->点击MQTT返回主主界面

 
login.png

2)图msg.png步骤解析如下:
①:输入服务器ip地址和端口号
②:点击连接
③:点击绿色小+号订阅主题
④:输入主题名字
⑤:把需要订阅的主题勾上
⑥:点击订阅
⑦:输入发布主题
⑧:输入发布的内容
⑨:点击发布
⑩:接收到订阅该主题发布出来的内容(linux 下面客户端程序发出来的)
⑪:自己发布出去的内容
⑫:linux 客户端掉线发布出来的遗嘱

 
msg.png

linux c MQTT客户端实现的更多相关文章

  1. arm linux 移植 MQTT (paho、mosquitto)

    前言 我们在这里做2件事情: 1)编译 paho.mqtt.mosquitto 2个开源项目的c版本库(mosquitto库没有用上) 2)编译好 依赖 paho.mqtt的库编写例程 + mosqu ...

  2. Linux下librdkafka客户端的编译运行

    Linux下librdkafka客户端的编译运行 librdkafka是一个开源的Kafka客户端C/C++实现,提供了Kafka生产者.消费者接口. 由于项目需要,我要将Kafka生产者接口封装起来 ...

  3. Linux 下 简单客户端服务器通讯模型(TCP)

    原文:Linux 下 简单客户端服务器通讯模型(TCP) 服务器端:server.c #include<stdio.h> #include<stdlib.h> #include ...

  4. MQTT Client library for C (MQTT客户端C语言库-paho)

    原文:http://www.eclipse.org/paho/files/mqttdoc/MQTTClient/html/index.html 来自我的CSDN博客   最近在使用Paho的MQTT客 ...

  5. MQTT客户端库-Paho GO

    为了加深理解,本文是翻译文章.原文地址 Paho GO Client   语言 GO 协议 EPL AND EDL 官网地址 http://www.eclipse.org/paho/ API类型 As ...

  6. 安装linux版zabbix客户端

    安装linux版zabbix客户端 一.下载客户端 查看centos系统内核版本 cat /proc/version 如上图,就选择Linux 2.6系统对应的agent版本程序 打开官网:https ...

  7. Vmware中Linux或macOS客户端如何回收硬盘空间

    Vmware对于Windows的客户端,使用GUI操作硬盘回收和整理磁盘即可.对于Linux或macOS客户端,需要在安装Vmware Tools之后,在客户端OS的终端Terminal里输入命令进行 ...

  8. MQTT客户端

    MQTT客户端 最近公司项目中使用到了一个MQTT的协议,用这个通讯协议将嵌入式端收集到的数据接入到物联网中,很是方便的解决了,嵌入式端存储空间小,也解决了用户需要自定义使用这些记录数据的需求.而且相 ...

  9. linux配置邮件客户端

    linux配置邮件客户端 1. 申请一个163邮箱,并配置客户端授权密码 l 开启POP3/SMTP/IMAP l 设置客户端授权密码 ###此密码不能跟邮箱密码相同,此密码用来在linux邮件客户端 ...

随机推荐

  1. STL传递比较函数进容器的三种方式

    对于STL中的依靠比较排序的容器,均提供了一个模板参数来传递比较函数,默认的为std::less<>. 查阅Containers - C++ Reference可以看到典型的使用比较函数的 ...

  2. Juicer自定义函数

    首先,先写自定义的方法: function (sex) { ; ; var Range = Max - Min; var Rand = Math.random(); var res = (Min + ...

  3. 在Windows下搭建基于nginx的视频直播和点播系统

    http://my.oschina.net/gaga/blog/478480 一.软件准备 由于nginx原生是为linux服务的,因此官方并没有编译好的windows版本可以下载,要在windows ...

  4. Hibernate学习4—关联关系一对多映射2

    第四节:班级学生一对多映射实现(双向) 查询班级的时候能够获取所有的学生:   在上一节的基础之上:我们在Class端也保存学生的关系: com.cy.model.Class: public clas ...

  5. 获取响应数据___JSON Extractor 后置处理器

    对于大部分请求返回的结果,都是json,有一个更方便使用的插件:JSON Extractor 不过得首先下载插件 https://jmeter-plugins.org/wiki/JSONPathExt ...

  6. ftp之心脏病

    FTP基础 FTP只通过TCP连接,没有用于FTP的UDP组件.FTP不同于其他服务的是它使用了两个端口, 一个数据端口和一个命令端口(或称为控制端口).通常21端口是命令端口,20端口是数据端口.当 ...

  7. 【转】WebAPI使用多个xml文件生成帮助文档

    来自:http://www.it165.net/pro/html/201505/42504.html 一.前言 上篇有提到在WebAPI项目内,通过在Nuget里安装(Microsoft.AspNet ...

  8. 【UVA】1596 Bug Hunt(模拟)

    题目 题目     分析 算是个模拟吧     代码 #include <bits/stdc++.h> using namespace std; map<int,int> a[ ...

  9. 第七章 : Git 介绍 (上)[Learn Android Studio 汉化教程]

    Learn Android Studio 汉化教程 [翻译]Git介绍 Git版本控制系统(VCS)快速成为Android应用程序开发以及常规的软件编程领域内的事实标准.有别于需要中心服务器支持的早期 ...

  10. Jmeter如何监控服务器性能

    1.jmeter只需要安装一些插件 ,就可以像loadrunner一样监控服务器CPU.内存等性能参数 1.下载需要的jmeter插件      如图上面两个是jmeter插件,可以再下面的链接中下载 ...