Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
2-1139225976
tytus
2006-02-06 14:39
2006.02.26
TBucketList


15-1137842282
Nic
2006-01-21 14:18
2006.02.26
Сдал сессию :)


6-1131999953
XRed
2005-11-14 23:25
2006.02.26
Интернет. Процесс передачи данных.


1-1138028544
Петр Громов
2006-01-23 18:02
2006.02.26
нужен сверхчастый вывод


3-1136217119
ищущий ответ
2006-01-02 18:51
2006.02.26
Ограничения Paradox





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский