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. FPGA图像加速解决方案来了

    近日,百度云与联捷计算科技(CTAccel)共同推出基于FPGA的图像加速解决方案(CIP,CTAccel Image Processor),实现对JPEG转码JPEG.JPEG转码WebP(M6)等 ...

  2. appium+python自动化41-切换webview时候报chromedriver版本问题

    前言 用appium切换webview的时候报chrome和chromedriver版本的问题:session not created exception: Chrome version must b ...

  3. EF中创建、使用Oracle数据库的Sequence(序列)功能

    ** 背景 ** 项目中订单号原来的生成规则由日期加随机数组成,后期需求决定将订单号生成规则更改为生成日期加当天当前订单数. 每天的订单数都是从0开始的,每生成一个订单,订单数就应该加1.订单数应该是 ...

  4. 029:高可用之MHA

    高可用之MHA 一.MHA 简介 MHA(Master High Availability)是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件.在MySQL故障切换过程中,MHA能 ...

  5. 009:JSON

    一. MySQL JSON类型 1. JSON介绍 什么是 JSON ? JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级 ...

  6. css 定位position总结

    在CSS中,Position 属性经常会用到,主要是绝对定位和相对定位,简单的使用都没有问题,尤其嵌套起来,就会有些混乱,今记录总结一下,防止久而忘之. CSS position 属性值: absol ...

  7. CSS 基本知识梳理-续

    CSS 基本知识 1.CSS 简介 CSS 指层叠样式表 (Cascading Style Sheets),是一种用来表现 HTML 文档样式的语言,样式定义如何显示 HTML 元素,是能够真正做到网 ...

  8. java之IO整理(中)

    一:打印流/*System.out.println()重定向输出*/ /*public static void main(String[] args) { System.out.println(&qu ...

  9. 匿名方法,lambad表达式,匿名类

    其实lambad表达式就是“函数”或者说是“方法”写法的一个进化,越来越简化而已,如数学方法里的f(X). 匿名方法:顾名思义,匿名方法就是没有名称的方法,但是有定义参数. 匿名方法最明显的好处就是可 ...

  10. MessageBox 函数

    函数原型: int WINAPI MessageBox( _In_opt_ HWND hWnd, _In_opt_ LPCTSTR lpText, _In_opt_ LPCTSTR lpCaption ...