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. GOF23设计模式之外观模式(facade)

    一.外观模式概述 外观模式也称为门面模式. 核心:为了系统提供统一的入口,封装子系统的复杂性,便于客户端调用. 二.外观模式场景导入与示例代码 场景:要想自己去注册一个公司,首先去工商局检测命名是否合 ...

  2. postman 请求 页面出现 Could not get any response 解决方法

    1.关闭掉证书 2.再关闭掉代理 3.去掉请求头的Content-Length字段 (或者一个个试请求头的值,看去掉那些就请求成功了) 后记: 网友 @ 重庆张晓祥 提供了个线索确实让我想起以前我从浏 ...

  3. git 绑定远程仓方法

    第1步:创建SSH Key.在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步.如果没有,打开Shell ...

  4. 阿里云中域名的MX记录添加方法

    如何添加阿里云的MX记录 1. 登录阿里云,点击“云解析”,点击自己想要添加MX记录的域名: 2. 点击新手引导设置: 3. 点击解析设置,自动跳出“设置网站”和“设置邮箱”: 4. 跳出的页面,选择 ...

  5. hadoop从调整GC到关键Counter计算原理分析

     hadoop集群中发现使用Parallel Scavenge+Parallel Old收集器组合进行垃圾收集(这也是server端jvm默认的GC方式)时CPU占用可能会非常高,偶尔会出现爆满的状态 ...

  6. 013:Rank、视图、触发器、MySQL内建函数

    一. Rank 给出不同的用户的分数,然后根据分数计算排名 (gcdb@localhost) 09:34:47 [mytest]> create table t_rank(id int,scor ...

  7. vptr, vtable, virtual base class table

    #include <iostream> using namespace std; class X { int x, y, z; }; class Y: public virtual X { ...

  8. 【airflow实战系列】 基于 python 的调度和监控工作流的平台

    简介 airflow 是一个使用python语言编写的data pipeline调度和监控工作流的平台.Airflow被Airbnb内部用来创建.监控和调整数据管道.任何工作流都可以在这个使用Pyth ...

  9. ios笔试题

    最近找工作,有面试有笔试部分,故把笔试题自己整理了下. 面试能力要求:精通iphone的UI开发,能熟练操作复杂表视图,熟练使用图层技术, 可以自定义UI控件,使用类别扩展系统控件功能;   擅长通讯 ...

  10. ServletContextListener中@Autowired失效的解决方法

    @WebListener public class ContextWebListener implements ServletContextListener { @Override public vo ...