Перед вызовом к серверу запишите время JavaScript:
var startTime = new Date();
Загрузка изображение с сервера:
var img = new Image()
img.onload = function() {
// record end time
}
img.src = "http://server1.domain.com/ping.jpg";
, Как только запрос закончен, запись время снова. (Данный, конечно, что запрос убрал не время.)
var endTime = new Date();
Ваш ping в миллисекундах:
var ping = endTime. getTime() - startTime.getTime();
Да, он унаследован от C. Функция:
void foo ( char a[100] );
Устанавливает параметр, чтобы он был указателем, и таким образом становится:
void foo ( char * a );
Если вы хотите, чтобы тип массива был сохранен, вы должен передать ссылку на массив:
void foo ( char (&a)[100] );
C ++ '03 8.3.5 / 3:
... Тип функции определяется с использованием следующих правил. Тип каждого параметра определяется его собственным описанием-описателем-объявлением и декларатором. После определения типа каждого параметра любой параметр типа «массив T» или «функция, возвращающая T» корректируется как «указатель на T» или «указатель на функцию, возвращающую T» соответственно ....
To объясните синтаксис:
Проверить наличие правила "право-лево" в Google; Я нашел одно его описание здесь . ссылка на массив из 100 символов
Да. В C и C ++ нельзя передавать массивы функциям. Просто так оно и есть.
Почему вы вообще делаете простые массивы? Вы смотрели на boost
/ std :: tr1 :: array
/ std :: array
или std :: vector
?
Обратите внимание, что вы можете, однако, передать ссылку на массив произвольной длины в функцию template . Вне моей головы:
template< std::size_t N >
void f(char (&arr)[N])
{
std::cout << sizeof(arr) << '\n';
}