ALT Linux Bugzilla
– Attachment 20850 Details for
Bug 58204
Примеры MQTTClient_publish/subscribe не могут подключиться к брокеру MQTT
New bug
|
Search
|
[?]
|
Help
Register
|
Log In
[x]
|
Forgot Password
Login:
[x]
|
EN
|
RU
MQTTClient_subscribe.c
MQTTClient_subscribe.c (text/x-csrc), 3.45 KB, created by
Новиков Арсений Сергеевич
on 2026-03-11 19:20:05 MSK
(
hide
)
Description:
MQTTClient_subscribe.c
Filename:
MIME Type:
Creator:
Новиков Арсений Сергеевич
Created:
2026-03-11 19:20:05 MSK
Size:
3.45 KB
patch
obsolete
>/******************************************************************************* > * Copyright (c) 2012, 2025 IBM Corp., Ian Craggs > * > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v2.0 > * and Eclipse Distribution License v1.0 which accompany this distribution. > * > * The Eclipse Public License is available at > * https://www.eclipse.org/legal/epl-2.0/ > * and the Eclipse Distribution License is available at > * http://www.eclipse.org/org/documents/edl-v10.php. > * > * Contributors: > * Ian Craggs - initial contribution > *******************************************************************************/ > >#include <stdio.h> >#include <stdlib.h> >#include <string.h> >#include "MQTTClient.h" > >#define ADDRESS "tcp://test.mosquitto.org:1883" >#define CLIENTID "ExampleClientSub" >#define TOPIC "MQTT Examples" >#define PAYLOAD "Hello World!" >#define QOS 1 >#define TIMEOUT 10000L > >volatile MQTTClient_deliveryToken deliveredtoken; > >void delivered(void *context, MQTTClient_deliveryToken dt) >{ > printf("Message with token value %d delivery confirmed\n", dt); > deliveredtoken = dt; >} > >int msgarrvd(void *context, char *topicName, int topicLen, MQTTClient_message *message) >{ > printf("Message arrived\n"); > printf(" topic: %s\n", topicName); > printf(" message: %.*s\n", message->payloadlen, (char*)message->payload); > MQTTClient_freeMessage(&message); > MQTTClient_free(topicName); > return 1; >} > >void connlost(void *context, char *cause) >{ > printf("\nConnection lost\n"); > if (cause) > printf(" cause: %s\n", cause); >} > >int main(int argc, char* argv[]) >{ > MQTTClient client; > MQTTClient_connectOptions conn_opts = MQTTClient_connectOptions_initializer; > int rc; > > const char* uri = (argc > 1) ? argv[1] : ADDRESS; > printf("Using server at %s\n", uri); > > if ((rc = MQTTClient_create(&client, uri, CLIENTID, > MQTTCLIENT_PERSISTENCE_NONE, NULL)) != MQTTCLIENT_SUCCESS) > { > printf("Failed to create client, return code %d\n", rc); > rc = EXIT_FAILURE; > goto exit; > } > > if ((rc = MQTTClient_setCallbacks(client, NULL, connlost, msgarrvd, delivered)) != MQTTCLIENT_SUCCESS) > { > printf("Failed to set callbacks, return code %d\n", rc); > rc = EXIT_FAILURE; > goto destroy_exit; > } > > conn_opts.keepAliveInterval = 20; > conn_opts.cleansession = 1; > if ((rc = MQTTClient_connect(client, &conn_opts)) != MQTTCLIENT_SUCCESS) > { > printf("Failed to connect, return code %d\n", rc); > rc = EXIT_FAILURE; > goto destroy_exit; > } > > printf("Subscribing to topic %s\nfor client %s using QoS%d\n\n" > "Press Q<Enter> to quit\n\n", TOPIC, CLIENTID, QOS); > if ((rc = MQTTClient_subscribe(client, TOPIC, QOS)) != MQTTCLIENT_SUCCESS) > { > printf("Failed to subscribe, return code %d\n", rc); > rc = EXIT_FAILURE; > } > else > { > int ch; > do > { > ch = getchar(); > } while (ch!='Q' && ch != 'q'); > > if ((rc = MQTTClient_unsubscribe(client, TOPIC)) != MQTTCLIENT_SUCCESS) > { > printf("Failed to unsubscribe, return code %d\n", rc); > rc = EXIT_FAILURE; > } > } > > if ((rc = MQTTClient_disconnect(client, 10000)) != MQTTCLIENT_SUCCESS) > { > printf("Failed to disconnect, return code %d\n", rc); > rc = EXIT_FAILURE; > } >destroy_exit: > MQTTClient_destroy(&client); >exit: > return rc; >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 58204
: 20850 |
20851