![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
NMUDP ??? [D6, Win95/98, Win2k, WinXP]
BAHO © (2002-08-17 23:40:00)Здравствуйте мастера...
у меня есть вопрос по реализации пинга по вышеуказанному протоколу...
я делаю примерно следующее...>
Прога сервер:
type
TClient=record
IP:string[15]; //IP клиента
Status:boolean; //подключен ли клиент
Timeout:integer; //время ожидание ответа клиента
end;
var
Client:array of TClient;
в обработчике события NMUDPDataReceived
for i:=0 to количество клиентов-1
do if Client[i].IP=FromIP
then if not Client[i].Status
then
begin
Client[i].Status:=true;
Client[i].TimeOut:=10;
end;
Потом в Таймере просто отнимаю 1 каждую секунду от каждого клиента из TimeOut и если он равен 0 или <0 то Status:=false
Прога клиент просто посылает серваку данные раз в несколько секунд...
Вот такой у меня получился пинг клиентов...
Оцените пожалуйста и укажите на ошибки.
Либо предложите альтернативу...
Спасибо.!
BAHO (2002-08-19 00:47:00) [1]И не будет ли это глюкавить при большом количестве клиентов...?