Измерение задержки по сети

У меня есть программа, которая будет работать на двух разных компьютерах, таких как: сервер и клиент. Я хочу измерить задержку по сети в моей программе на C ++ и Java. Обычные команды для измерения времени выполнения (например, gettimeofday в C) Я думаю, что не очень точны для задержки выполнения по сети. Несколько советов?

1

Решение

Вы можете измерить точное время с станд :: хроно

#include <chrono>

auto timeStart = std::chrono::high_resolution_clock::now();
// do something... wait for result...
auto timeEnd = std::chrono::high_resolution_clock::now();

long long duration = std::chrono::duration_cast<std::chrono::microseconds>(timeEnd - timeStart).count();

замещать microseconds с nanoseconds, milliseconds, seconds чтобы получить длительность в разных единицах.

Вы можете также использовать станд :: часы хотя это может обеспечить менее точные измерения:

#include <ctime>

std::clock_t timeStart = std::clock();
// do something... wait for result...
std::clock_t timeEnd = std::clock();

double durationMs = 1000.0 * (timeEnd-timeStart) / CLOCKS_PER_SEC;
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]