Скорость передачи mqtt намного ниже при увеличении размера данных по TCP - PullRequest
0 голосов
/ 16 мая 2019

Я запускаю mqtt server на raspberry pi вместе с mqtt client на телефоне Android.Последовательность данных будет передаваться с сервера на клиент по 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,335 секунды, длина 8192, 4,942 секунды,

Пожалуйстапомогите, заранее спасибо

PS Я занял org.eclipse.paho.client.mqttv3-1.0.2.jar как библиотеки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...