Собственно все очень просто :
периодический асинхронный скрипт
dim pingSender as System.Net.NetworkInformation.Ping;
pingSender = new System.Net.NetworkInformation.Ping();
dim reply as System.Net.NetworkInformation.PingReply;
reply = pingSender.Send( me.targIPorHostName, 2500 );
if reply.Status == System.Net.NetworkInformation.IPStatus.Success then
me.result = 0;
me.PingErr = False;
me.RoundtripTime = reply.RoundtripTime;
else
me.result = me.result +1;
me.RoundtripTime = reply.RoundtripTime;
endif;
и еще один скрипт который следит за количеством пропущенных пингов
WhileTrue по этому условию me.result > me.pingErrLimit
me.PingErr = True;
ну а дальше на me.PingErr вешаем все что нам нужно
P.S.: 2500 - таймаут для пинга ... если не поставить то скрипт будет ну очень долго ждать результата, а это в System Platform неприемлемо.
периодический асинхронный скрипт
dim pingSender as System.Net.NetworkInformation.Ping;
pingSender = new System.Net.NetworkInformation.Ping();
dim reply as System.Net.NetworkInformation.PingReply;
reply = pingSender.Send( me.targIPorHostName, 2500 );
if reply.Status == System.Net.NetworkInformation.IPStatus.Success then
me.result = 0;
me.PingErr = False;
me.RoundtripTime = reply.RoundtripTime;
else
me.result = me.result +1;
me.RoundtripTime = reply.RoundtripTime;
endif;
и еще один скрипт который следит за количеством пропущенных пингов
WhileTrue по этому условию me.result > me.pingErrLimit
me.PingErr = True;
ну а дальше на me.PingErr вешаем все что нам нужно
P.S.: 2500 - таймаут для пинга ... если не поставить то скрипт будет ну очень долго ждать результата, а это в System Platform неприемлемо.
Комментариев нет:
Отправить комментарий