2015-05-16 68 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捆綁在一起。這應該工作!