Форум: "Сети";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.10;
Скачать: [xml.tar.bz2];




Вниз

Как отследить событие <reset> компьютера на котором висит подконнекченый к серверу клиент 


Serguar   (2001-10-09 11:01) [0]

Привет всем.
У меня в локальной сети приложение-сервер на TServerSocket, куча клиентов на TClientSocket. Когда выгружается клиент или выключается Windows с клиентом - сервер это видит (что клиент отсоединился), а вот если на клиенте пользователь нажал reset -
то ни как не могу отловить его проподание.
Может кто нибудь знает как бороть?



PGM   (2001-10-09 11:07) [1]

А разве в сокете не возникает ошибка? У меня Клиент отлично чувствует не только это, но и просто закрытие Сервера. Просто проходит определенный таймаут. Может надо подождать.



Polevi   (2001-10-09 11:41) [2]

Релизуй обмен определенными сообщениями между клиентом и сервером каждую минуту, например
Если сервер не получил от клиента сообщение - значит клиент в оффлайне



Serguar   (2001-10-09 12:09) [3]

>PGM да нет, клиент то чувствует, мне наоборот надо, что бы серевер это засекал.



Wizard_Ex   (2001-10-14 12:18) [4]

Обработай сообщение wm_QueryEndSession и в нем отошли серверу сообщение от закрытии.
У меня так сделано и работает



Polevi   (2001-10-14 12:24) [5]

2Wizard_Ex ©
По твоему при нажатии Reseta приходит QueryEndSession???
Это просто здорово!!
Виндовс мне нравится все больше!



Anatoly Podgoretsky   (2001-10-14 14:26) [6]

Надо подождать, может в будущем это будет возможно, по крайней мере с кнопкой питания так было, никто несколько лет назад в это бы и не поверил.



Polevi   (2001-10-15 14:11) [7]

В будущем вообще никуда нажимать не надо будет :-)



Wizard_Ex   (2001-10-15 14:45) [8]

Пардон, не врубился



Sir Alex   (2001-10-15 16:00) [9]

Попробуй пинговать клиентские машины через определенное время, если клиент недоступен, то принудительно разрывай соединение сним.



Serguar   (2001-10-15 16:21) [10]

Спасибо за активность, не ожидал.
> Sir Alex: пробовал пинговать, с интервалом в 3 сек. Почему то по истечении определенного времени у меня выпадает кто нибудь из клиентов.
Естественно, я удаляю его из списка. :-(



Anatoly Podgoretsky   (2001-10-15 23:20) [11]

Polevi © (15.10.01 14:11)
Это точно, абсолютно лишнии кнопки.
Кнопкой питания я уже давно не пользуюсь, а кнопки сброса на многих Brand Name просто нет.



Anatoly Podgoretsky   (2001-10-15 23:22) [12]

Неверно поступаешь, надо пинговать несколько раз и только после некоторого количество отказов вырубать, а то ты так вырубашь вполне живых клиентов.
Например пингуй 1 раз в секунду и вырубай после 3-5 отказов подряд.



xnum   (2001-10-16 11:31) [13]

Пингировать, это через какое событие? надо исп. таймер?




Форум: "Сети";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.10;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.023 c
1-28487           grab                  2001-12-19 19:47  2002.01.10  
крутой вопрос про форматирование текста:-)


6-28524           Алексей Штыков        2001-10-16 14:38  2002.01.10  
Как втихую проверить обновления (любые) с сервера.?


14-28542          MJH                   2001-11-15 14:15  2002.01.10  
Epson Stylos 600


3-28418           Naile                 2001-12-09 12:08  2002.01.10  
IBX&Insert


1-28488           ilysha                2001-12-20 10:00  2002.01.10  
В дочерних окнах из DLL не работают