zoukankan      html  css  js  c++  java
  • MQTT-C-PUB

    /*
     ============================================================================
     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 ", message->topic, message->payload);
        }else{
            printf("%s (null) ", 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 ");
        }
    }

    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(" ");
    }

    void my_log_callback(struct mosquitto *mosq, void *userdata, int level, const char *str)
    {
        /* Pring all log messages regardless of level.*/
        printf("%s ", 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. ");
                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;*/
    }

  • 相关阅读:
    SpringCloud(3)服务消费者(Feign)
    SpringCloud(2)服务消费者(rest+ribbon)
    SpringCloud(1)服务注册与发现Eureka
    SpringBoot中注入ApplicationContext对象的三种方式
    SpringBoot整合Swagger2搭建API在线文档
    SpringBoot整合Shiro使用Ehcache等缓存无效问题
    使用Zint和Zxing实现二维码的编码与解码(Using open-source tools to generate and decode Q-R code)
    简单易懂的现代魔法——Play Framework攻略3
    简单易懂的现代魔法——Play Framework攻略2
    简单易懂的现代魔法——Play Framework攻略1
  • 原文地址:https://www.cnblogs.com/dpf-learn/p/6963551.html
Copyright © 2011-2022 走看看