Форум: "Основная";
Текущий архив: 2006.02.26;
Скачать: [xml.tar.bz2];
ВнизКак ограничить по времени "замирание" программы Найти похожие ветки
← →
СержК (2006-01-26 08:49) [0]Мастера подскажите.
Я имею несколько удаленных рабочих станций. На этих уд. станциях есть папки в общем доступе. В моей программе происходит опрос этих папок на предмет появления в них файлов.
Перед тем как обрабатывать содержимое этих удаленных папок я пытаюсь проверить - есть ли связь с этими станциями. Ничего лучше не придумал как проверить папку на существование:
DirectoryExists(\\IP_адрес\папка) - все работает нормально.
Но возникают ситуации когда: временно пропадает сеть(используем услуги сотовиков), на том конце выключен компьютер, ... ситуаций думаю может возникнуть много (точки разбросаны на расстоянии от 10 до 200 километров).
В такой ситуации при выполнении (когда что-то пропало):
DirectoryExists(\\IP_адрес\папка) - программа ЗАДУМЫВАЕТСЯ довольно надолго, что очень некрасиво выглядит.
Вопрос: Как ограничить по времени "замирание" программы?
Подскажите кто может. Очень нужно!!!
← →
TUser © (2006-01-26 08:57) [1]Вытащить все в отдельный поток. Лучше - свой поток для каждой раб. станции.
← →
СержК (2006-01-26 09:03) [2]Честно говоря с потоками никогда не работал.
Если можно пример - как его организовать, и как "прихлопнуть" при замирании программы допустим более 20 секунд.
← →
sniknik © (2006-01-26 09:09) [3]лучше предварительно "пинг" сделать, он быстрее даст ответ, без таймаута, если комп в сети недоступен. а после этого уже путь проверять (тоже надо т.к. даже с рабочим пингом папка может быть недоступна по другим причинам)
p.s. сделай поиск по "ping программно" или чтото в этом роде ;).
← →
СержК (2006-01-26 10:22) [4]Люди а может кто-нибудь подскажет по поводу: "ping программно"?
← →
sniknik © (2006-01-26 10:55) [5]..... нет слов.
http://www.google.ru/search?hl=ru&q=ping+%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE&btnG=%D0%9F%D0%BE% D0%B8%D1%81%D0%BA+%D0%B2+Google&lr=
← →
СержК (2006-01-26 11:17) [6]Открыл я эту ссылку - НЕ МОГУ РАЗОБРАТЬСЯ. В одном месте речь идет о VB и С++, в другом реализация аналога PrintScreen...
А в Helpe: procedure Ping(ABuffer: String = ""; SequenceID: word = 0); - это не из той оперы?
Если да то как этим воспользоваться?
Пытяюсь сделать что-то вроде: Ping("192.168.4.110", 0); - выдает Undeclared identifier: "Ping"
← →
sniknik © (2006-01-26 11:34) [7]> В одном месте речь идет о VB и С++
т.е. разобратся на другом языке не можеш? ну добавь дополительно в поиск "ping программно delphi"...
← →
СержК (2006-01-26 13:05) [8]Народ неужели никто не знает как програмно сделать ping и проанализировать время эха?
Перекопал кучу сайтов, в лучшем случае натыкаюсь на диких размеров исходники в которых не могу разобраться...
Может есть что-то попроще?
Например в Helpe нашел: procedure Ping(ABuffer: String = ""; SequenceID: word = 0); - не знаю то или нет?
Если да то как этим воспользоваться?
Пытяюсь сделать что-то вроде: Ping("192.168.4.110", 0); - выдает Undeclared identifier: "Ping"
← →
azl © (2006-01-26 13:25) [9]http://www.hostmake.ru/articles/delphi/delphi41.php
← →
СержК (2006-01-26 14:45) [10]> azl
Попробовал использовать пример в этой ссылке - ничего не получилось. Разрываю сетку, а ping в программе проходит...???
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.02.26;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.037 c