Paho客户端没有活动超时

时间:2015-10-30 10:28:59

标签: java mqtt paho

我的应用程序使用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

1 个答案:

答案 0 :(得分:1)

我在此页面中找到了一些信息https://www.eclipse.org/forums/index.php/t/1069297/ 发布这样的代码:

        MqttTopic mqttTopic =  client.getTopic(topic);
        mqttTopic.publish(message.getBytes(), 0, false);