Originally posted by Alezz
Вот блин, пришлось запустить Не пинг это, хотя юзеру это и не важно... Вот только стоит ли заморачиватся, если проблема только с серваком Геннадича пинг до которого известен всем давно?
Согласен, это не тот пинг Однако когда в твоей проге пинг не идеть думаешь опа сервер пал а потом сканируешь - кол-во юзеров выводит. Так что лучше заморочиться тем более что это весьма просто сделать, стартуешь таймер делаешь попытку соединения на порт, когда происходит event OnConnected у сокета стопорим таймер и считаем время отклика сервера. На борланд билдере я такое минут за 5 напишу
типа такого:
Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
UdpSocket1->Open();
}
void __fastcall TForm1::UdpSocket1Connect(TObject *Sender)
{
UdpSocket1->Sendln("test","1");
}
void __fastcall TForm1::UdpSocket1Receive(TObject *Sender, PChar Buf,
int &DataLen)
{
unsigned short hour, min, sec, msec;
t2=t2.CurrentDateTime()-t1;
t2.DecodeTime(&hour, &min, &sec, &msec);
String s;
s=s.sprintf("ping is: %2d:%02d:%02d.%03d",
hour, min, sec, msec);
Edit2->Text=s;
}
void __fastcall TForm1::UdpSocket1Send(TObject *Sender, PChar Buf,
int &DataLen)
{
unsigned short hour, min, sec, msec;
t1=t1.CurrentDateTime();
t1.DecodeTime(&hour, &min, &sec, &msec);
String s;
s=s.sprintf("begin time is: %2d:%02d:%02d.%03d",
hour, min, sec, msec);
Edit1->Text=s;
}