Этот код необходимо удалить из цикла while ().Это вызывает большой трафик ЦП и задержку на стороне сервера.
Differences = System.currentTimeMillis() - Double.parseDouble(inputLine);
Вместо этого, если кому-то нужно сравнить локальное время на стороне сервера с локальным временем клиента, сначала используйте команду ping, а затем сохраните свое местное время в начале.Передача, затем сохранить оба на сервере.
Если в концентраторе нет задержки, пинг покажет Макс.Задержка в 1 мс и оба локальных времени должны быть идентичны.
Конечно, локальное время клиента должно быть скорректировано в соответствии с временем сервера;вот почему нам нужно сохранить их местное время в начале передачи, чтобы найти смещение.
Кроме того, если сервер одновременно выполняет какую-то другую задачу, должна быть некоторая задержка около 10-15Миз.Если сама передача не имеет задержки, Макс.задержка этой операции должна совпадать с внутренней задержкой сервера.Я обнаружил, что сервер также выполнял разные задачи одновременно и имел Макс.Задержка 15 мс, вызванная ими.Итак, общая задержка на сервере:
Общая задержка = внутренняя задержка сервера для других задач + внутренняя задержка сервера в потоке передачи + задержка передачи.