2015-05-16 32 views
0

我正在尝试使用MQTT来接收消息的我的Android应用程序。我收到消息为JSON,其中还包含base64编码图像。 当图像是几千字节时,它的工作效果非常好,但是当我尝试发送大约400KB的内容时,消息不会被发送。使用MQTT发布和接收更大的消息

我已经用两个公共经纪人获得了相同的回应。 (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) { 
} 

这里是用来发布代码,使用Android的泛美卫生组织服务客户端:

client.publish(topic,obj.toString().getBytes(),Constants.QoS_ACK,false,null,null); 
+0

它可以与broker.mqttdashboard.com这样的非蚊子公共经纪商合作吗? –

+0

你如何发送消息? – hardillb

+0

我尝试了broker.mqttdashboard.com,但因为一个未知的原因,我永远无法连接到它开始,所以我放弃了。 – Ramin

回答

0

我认为MQTT可能不适合您在JSON内发送图像,并且您还在做一个toString(),我怀疑它会帮助编码图像。 尝试单独发送图像,然后在接收处将其与json捆绑在一起。这应该工作!