Originally posted by Alezz 
Вот блин, пришлось запустить  Не пинг это, хотя юзеру это и не важно... Вот только стоит ли заморачиватся, если проблема только с серваком Геннадича пинг до которого известен всем давно?
 Не пинг это, хотя юзеру это и не важно... Вот только стоит ли заморачиватся, если проблема только с серваком Геннадича пинг до которого известен всем давно? 
			
		 
	 
 Согласен, это не тот пинг  Однако когда в твоей проге пинг не идеть думаешь опа сервер пал а потом сканируешь - кол-во юзеров выводит. Так что лучше заморочиться тем более что это весьма просто сделать, стартуешь таймер делаешь попытку соединения на порт, когда происходит event  OnConnected у сокета  стопорим таймер и считаем время отклика сервера. На борланд билдере я такое минут за 5 напишу
 Однако когда в твоей проге пинг не идеть думаешь опа сервер пал а потом сканируешь - кол-во юзеров выводит. Так что лучше заморочиться тем более что это весьма просто сделать, стартуешь таймер делаешь попытку соединения на порт, когда происходит 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;
        
}