Android 使用MQTT发布和接收更大的消息

Android 使用MQTT发布和接收更大的消息,android,publish-subscribe,mqtt,paho,Android,Publish Subscribe,Mqtt,Paho,我正在尝试测试我的android应用程序,它使用MQTT接收消息。我以JSON的形式接收消息,其中还包含一个base64编码的图像。 当图像只有几千字节时,这种方法非常有效,但是当我尝试发送400KB左右的任何内容时,消息都不会被发送 我用了两个公共经纪人,两次都得到了同样的回应。test.mosquitto.org和iot.eclipse.org 下面是正在发送的JSON对象: public void send() { JSONObject obj = new JSONObject(); tr

我正在尝试测试我的android应用程序,它使用MQTT接收消息。我以JSON的形式接收消息,其中还包含一个base64编码的图像。 当图像只有几千字节时,这种方法非常有效,但是当我尝试发送400KB左右的任何内容时,消息都不会被发送

我用了两个公共经纪人,两次都得到了同样的回应。test.mosquitto.org和iot.eclipse.org

下面是正在发送的JSON对象:

public void send() {
JSONObject obj = new JSONObject();
try {
    obj.put("isFormat", Boolean.valueOf(true));
    obj.put("title", "this is a title");
    obj.put("image", "(insert base64 encoded image here)");
    obj.put("imageExtension", "png");
    obj.put("body", "<p>body</p>");
} catch (JSONException e) {
}

我认为MQTT可能对您在JSON中发送图像感到不舒服,并且您还执行了一个toString,我怀疑这将有助于对图像进行编码。
尝试单独发送图像,然后在接收时将其与json绑定。这应该管用

它是否适用于broker.mqttdashboard.com等非mosquitto公共代理?您是如何发送消息的?我尝试了broker.mqttdashboard.com,但由于未知原因,我一开始无法连接到它,因此放弃了。
client.publish(topic,obj.toString().getBytes(),Constants.QoS_ACK,false,null,null);