我的应用程序使用paho客户端时出现以下错误消息。发生此错误后,客户端将停止接收消息。虽然不确定,但我认为我仍然可以发布消息。
#include <iostream> #include <cstdlib> #include <bitset> #include <string> #include <ctime> int main() { using namespace std; int p, i=0, a[100000]; int s; string myString; int binary; cout << "Type your text: "; std::getline (std::cin,myString); for (std::size_t k=0; k < myString.size(); ++k) { std::bitset<8> y(myString[k]); std::string dna = y.to_string(); binary = atoi(dna.c_str()); cout << binary; while (binary != 0) { a[i] = binary % 10; binary = binary / 10; i++; } } std::cout << std::endl; srand(time(0)); for (int j = (i-1); j>-1; j--) { if (a[j] == 0) { p = rand() %2; if (p==0) cout<< "A"; else cout<< "T"; } if (a[j] == 1) { s = rand() %2; if (s == 0) cout<< "G"; else cout<< "C"; } else { cout << ""; } } }
我已经找到了一些关于这个问题的其他讨论,但大多数情况下他们没有使用paho客户端,而是他们使用的是使用paho客户端的库。我发现的所有讨论都认为问题与paho有关,但没有给出解决方案。似乎错误发生在机器资源耗尽时。这似乎是一个僵局。
我正在使用paho 1.0.0。无论如何,这个错误也在paho 0.4.0中报道过了。
任何想法?
参考文献: Spring Integration MQTT Subscriber (paho) stops processing messages https://github.com/openhab/openhab/issues/980
答案 0 :(得分:1)
我在此页面中找到了一些信息https://www.eclipse.org/forums/index.php/t/1069297/ 发布这样的代码:
MqttTopic mqttTopic = client.getTopic(topic);
mqttTopic.publish(message.getBytes(), 0, false);