Comments (2)
What is 'c' ? In which module ? In which file ?
There is a MQTTCloseSession() function in MQTTClient.c in MQTTClient-C that has a parameter named 'c', which is a MQTTClient structure; there is no member named 'disconnect' in that structure. Are you using this very repo or a forked/vendor modified one?
The client does not know what a socket is, it is network agnostic, whatever you are using as a transport support has to handle the TCP connection to the broker, including opening and closing the socket (if you use a socket API) and handling network errors.
For example:
- the Linux port has NetworkDisconnect() which closes the socket, as you can see on the sample MQTTClient-C/samples/linux/stdoutsub.c.
- the FreeRTOS port has a 'disconnect' member in a 'Network' structure that handles that.
from paho.mqtt.embedded-c.
I use this repo with FreeRTOS and LwIP stack.
I do something like that:
while (1) {
do {
NetworkInit(&network);
MQTTClientInit(&client, &network, 30000, sendbuf, sizeof(sendbuf), readbuf, sizeof(readbuf));
if ((rc = NetworkConnect(&network, broker_addr, 1883)) != 0) {
continue;
}
// Fill connectData
if ((rc = MQTTConnect(&client, &connectData)) != 0) {
continue;
}
// Subscribe
} while (rc != SUCCESS);
while (1) {
if ((rc = MQTTYield(&client, 500)) != 0) {
break;
}
}
}
What is the proper way to handle connection errors (reconnect to broker on error)? Should I close connection every time MQTTYield() returns negative value or FAILURE only? Is there any reason not to use disconnect callback from MQTTCloseSession()?
from paho.mqtt.embedded-c.
Related Issues (20)
- arduino version have a non atomic Timer implementation and block publish forever sometimes
- Arduino keeps reconnecting in loop HOT 2
- Messages are not retained even if the flag is set to true HOT 2
- Suspected bug with MQTTYield() / cycle()
- Performance problem related to cycle() and MQTT_TASK HOT 2
- Is there a limit on the amount of bytes the payload must be in the publish message? HOT 6
- Are there any plans to migrate to exact-width integer types? HOT 13
- isTopicMatched() does not behave correctly for filter that terminates with wildcard /# HOT 2
- Why use `enddata - curdata` instead of `mylen` in `MQTTDeserialize_ack()`?
- MQTTPacket_decode() doesn't present errors when it should HOT 1
- Does this library support mqtt v5? HOT 6
- Memory corruptions when casting enum to `int *` HOT 1
- Move includes to a subdirectory HOT 3
- keepalive failed by calling MQTTYield with short timeout and short interval. HOT 4
- Potential OOB Writes in eclipse/paho.mqtt.embedded-c
- PlatformIO's last release outdate HOT 2
- Compile error when compiling MQTTV5 HOT 1
- Library linking issues HOT 2
- Facing errors while building on windows
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from paho.mqtt.embedded-c.