Расчет времени прохождения пакета в JavaScript - PullRequest
0 голосов
/ 07 января 2010

Мой сервер время от времени передает пакет клиенту браузера.

Есть ли способ выяснить, сколько времени понадобилось из пакета:

server --> client

Я пытаюсь рассчитать время, поэтому в идеале моя функция JavaScript должна выглядеть так:

var travelTime = {amount of time it took packet to get to me};
setTimeout('myFunction()', 3000 + travelTime);

Кроме того, я не запрашиваю этот пакет, поэтому не могу записать время отправки и записать время получения на стороне клиента. Этот пакетный запрос не является двунаправленным, поскольку я устанавливаю сокет с сервером, и сервер может просто отправить мне пакет.

Любой совет ценится!

РЕДАКТИРОВАТЬ: соединение в стиле кометы

1 Ответ

2 голосов
/ 07 января 2010

Вы можете включить временную метку в пакет, но это будет зависеть от того, синхронизируются ли обе системы с одинаковыми часами (например, с использованием NTP). Если у вас нет контроля над сервером и клиентом, то то, что вы спрашиваете, невозможно без обратной связи. Даже при синхронизации NTP будет некоторое дрожание в зависимости от того, как часто синхронизируются часы. В обоих случаях ваши задержки будут только оценочными, в любом случае, с серьезными отклонениями при изменении условий сети, если клиент и сервер не находятся в одной локальной сети.

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