我在mqtt server
上运行raspberry pi
并在Android手机上运行了mqtt client
。数据序列将通过TCP从服务器传输到客户端。
在服务器端,int[] result
具有可变长度(即512、1024、2048、4096、8192等):
private void processPublish(int[] result) {
String publishMessage ="myseq1";
for (int i=0; i<result.length; i++)
publishMessage += "," + result[i];
service.publish(TOPIC_STATUS, publishMessage);
}
在手机上,
private class MqttCallbackHandler implements MqttCallback {
@Override
public void connectionLost(Throwable throwable) {
main.setBackgroundResource(R.drawable.background_disable);
connect_imageview.setImageResource(R.drawable.mq_disconnected);
Log.d(LOG_TAG, throwable.toString());
}
@Override
public void messageArrived(String topic, MqttMessage mqttMessage) throws Exception {
String message = new String(mqttMessage.getPayload());
final String[] messageArray = message.split(",");
if ((messageArray[0].equals("myseq1")) ){
xxxxxx;
}
}
@Override
public void deliveryComplete(IMqttDeliveryToken iMqttDeliveryToken) {
//
}
我试图通过以下方法找出数据传输的时间消耗:
Date date = new Date();
SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd :hh:mm:ss.SSS");
令我惊讶的是,当int[] result
增加时,传输数据的时间消耗成倍增加。
长度512,0.059秒 长度1024,0.201秒 长度2048,0.463秒 长度4096,1.355秒 长度8192,4.942秒
请帮助,在此先感谢
P.S。我借了org.eclipse.paho.client.mqttv3-1.0.2.jar
作为图书馆。