/*
 ============================================================================
 Name        : mqtest.c
 Author      :
 Version     :
 Copyright   : Your copyright notice
 Description : Hello World in C, Ansi-style
 ============================================================================
 */

#include <stdio.h>
#include <stdlib.h>
#include <mosquitto.h>
#include <string.h>
void my_message_callback(struct mosquitto *mosq, void *userdata, const struct mosquitto_message *message)
{
    if(message->payloadlen){
        printf("%s %s\n", message->topic, message->payload);
    }else{
        printf("%s (null)\n", message->topic);

}

fflush(stdout);
}

void my_connect_callback(struct mosquitto *mosq, void *userdata, int result)
{
    int i;
    if(!result){

mosquitto_subscribe(mosq, NULL, "lgt", 2);
        /*mosquitto_publish(mosq,NULL,"lgt")*/
        /*int payloadlen, const void *payload, int qos, bool retain*/
    }else{
        fprintf(stderr, "Connect failed\n");
    }
}

void my_subscribe_callback(struct mosquitto *mosq, void *userdata, int mid, int qos_count, const int *granted_qos)
{
    int i;

printf("Subscribed (mid: %d): %d", mid, granted_qos[0]);
    for(i=1; i<qos_count; i++){
        printf(", %d", granted_qos[i]);
    }

printf("\n");
}

void my_log_callback(struct mosquitto *mosq, void *userdata, int level, const char *str)
{
    /* Pring all log messages regardless of level.*/
    printf("%s\n", str);
}

int main(void) {
    puts("!!!Hello World!!!");
/*    prints !!!Hello World!!! */

int i=0;
        char *host = "localhost";
        char dst[]="lgttest12321321";
        char dst1[20];
        char ddd[200];
        int port = 1883;
        int keepalive = 60;
        bool clean_session = true;
        struct mosquitto *mosq = NULL;
        mosquitto_lib_init();
        mosq = mosquitto_new("track01", clean_session, NULL);
            if(!mosq){
            fprintf(stderr, "Error: Out of memory.\n");
            return 1;
        }
            mosquitto_log_callback_set(mosq, my_log_callback);
        /*mosquitto_connect_callback_set(mosq, my_connect_callback);*/
        mosquitto_message_callback_set(mosq, my_message_callback);
        mosquitto_subscribe_callback_set(mosq, my_subscribe_callback);

if(mosquitto_connect(mosq, host, port, keepalive)){
            fprintf(", %d", i);
            return 1;

}

for(;;)
                {

i++;
            /*itoa(i,dst1,10);*/
            sprintf(dst1, "%d", i);
            /**ddd=strcat(dst, dst1);*/
            //dst1=dst;
            mosquitto_publish(mosq, NULL, "lgt",strlen(dst1), dst1, 0, true);
            /*fprintf(", %d", i);*/
                }

mosquitto_loop_forever(mosq, -1, 1);

mosquitto_destroy(mosq);
        mosquitto_lib_cleanup();

return 0;
    /*return EXIT_SUCCESS;*/
}

最新文章

  1. dom2和dom3
  2. mySQL中如何给某一IP段的用户授权?
  3. 同一个主机上的JVM实例之间通信
  4. 关于学习Scala语言的一些感悟
  5. Linux经常使用命令(一) - ls
  6. code forces 436 C. Bus
  7. Windows命令行command的Shell命令详细解析和语法
  8. deeplearning.ai 人工智能行业大师访谈 Pieter Abbeel 听课笔记
  9. 将字符串存储到注册表中,长度一定是 strlen(text) + 1
  10. 在 Laravel 项目中使用 Elasticsearch 做引擎,scout 全文搜索(小白出品, 绝对白话)
  11. 洛谷 P1141 01迷宫
  12. 新建体(3):dbms_job下新建一个job定期自动执行存储过程
  13. C# 封装微信的模板消息
  14. Docker 安装和基础用法
  15. 20165227《网络对抗技术》Exp0 Kali安装 Week1
  16. 软件开发模式,DevOps
  17. oracle unix时间戳与date转换
  18. jQuery库冲突
  19. vue基础——组件(组件嵌套)
  20. solr特点三: 排序样例汇总

热门文章

  1. 【转】【Python】装饰器
  2. 【转】【WCF】WCF中客户端生成代理的两种方式
  3. SpringMVC系列(十)&lt;mvc:default-servlet-handler/&gt;(处理静态资源)和&lt;mvc:annotation-driven /&gt;
  4. windows下mysql密码忘了怎么办?【转】
  5. eclipse中svn提交报错的解决
  6. Vue文件跳转$router传参数
  7. crontab(定时任务操作)
  8. 利用POST重启路由器,一直无法实现,求帮助
  9. GCT之语文细节知识
  10. jenkins 启动slave,出现com.sun.deploy.net.FailedDownloadException: Unable to load resource: http://127.0.0.1:8080/jnlpJars/remoting.jar