Как добавить метку времени в отправителя и получателя для сообщения в Python? - PullRequest
0 голосов
/ 05 ноября 2018

Я работал над разработкой клиент-серверного приложения на Python поверх UDP. И клиент, и сервер подключены через беспроводное соединение (в режиме ad-hoc wifi), и мне было интересно рассчитать задержку между передачей и приемом сообщения. Клиентский хост и серверный хост оба являются Linux-машиной (Ubuntu 18.04), и их часы синхронизируются NTP-сервером (запущенным на хост-сервере). Направление данных в значительной степени от клиента к серверу

В настоящее время при создании сообщения на клиенте я использовал

datetime.datetime.time(datetime.datetime.now())))

функция из Python 3.7 datetime module , чтобы получить текущее время и связать его с исходным сообщением. При получении на стороне сервера к каждому полученному сообщению я также добавляю машинное время сервера в сообщение с той же функцией python.

Проблема, с которой я сталкиваюсь, заключается в том, что первое сообщение, которое я получаю на стороне сервера, имеет следующий вывод:

message format:  message+ sent time + receive time 
1st message   : message + 21.27.25.326574 +21.28.22.440932
2nd message   : message + 21.27.25.326846 +21.28.22.441178
3rd message   : message + 21.27.25.326962 +21.28.22.441178
.
.
.  

Похоже, что этот вывод включает не только задержку передачи и приема, но также время обработки и буферизации как отправителя, так и получателя. Как мне добавить временные метки на нижнем уровне (как уровень Link) сетевого стека при отправке и получении сообщения с использованием python?

...