Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.01.31;
Скачать: [xml.tar.bz2];

Вниз

Проверка компа.   Найти похожие ветки 

 
Xmen   (2009-12-09 14:43) [0]

Привет мастерам!
Работаю с сервером через сеть. В сервере открыт несколько папок. Клиентского комп работает с этими папками. Как проверить сервер подключен ли к сети. Если связи нет то должно выдавать сообщение об  этом.


 
Медвежонок Пятачок ©   (2009-12-09 14:46) [1]

а сейчас если связи нет, то доступ все равно есть и нет сообщения?


 
clickmaker ©   (2009-12-09 14:48) [2]

> В сервере открыт несколько папок. Клиентского комп работает
> с этими папками

чем открыт? как работает?


 
Xmen   (2009-12-09 14:50) [3]

может клиентский комп или сервер не пингуется, это как определить.


 
Медвежонок Пятачок ©   (2009-12-09 14:52) [4]

зачем?
и что делать, если пингуется, но папок нет?


 
Xmen   (2009-12-09 14:53) [5]

там открыт общий доступ.
из одной папки читается файл в другую копируется в определенную подпапку.


 
Медвежонок Пятачок ©   (2009-12-09 14:55) [6]

там открыт общий доступ.

Ну если открыт, то зачем проверять?


 
Xmen   (2009-12-09 14:55) [7]


> Медвежонок Пятачок ©   (09.12.09 14:52) [4]
> зачем? и что делать, если пингуется, но папок нет?

Там будут и с общем доступом.
мне нужно проверить связь.


 
Медвежонок Пятачок ©   (2009-12-09 14:58) [8]

а сейчас если связи с сервером нет, то доступ к серверу все равно есть и нет сообщения?


 
clickmaker ©   (2009-12-09 14:59) [9]

> из одной папки читается файл в другую копируется в определенную
> подпапку.

тогда ловить исключения или проверять коды возвратов функций API и GetLastError


 
Медвежонок Пятачок ©   (2009-12-09 14:59) [10]

мне нужно проверить связь.

Это абстрактное понятие.
Связь может быть, но доступа не будет.
О чем юзер узнает посредством той самой связи которая есть. А доступа нет.
А связь есть. А доступа нет. Хотя и папки есть.


 
Xmen   (2009-12-09 15:09) [11]

ну тогда так
сервере есть папка с постоянным доступом. подключен к локальной сети, его ip 192.162.58.1.  
Сервер может быть отключён по техническим проблемам или не доступен по сети.
А может быт и такая ситуация что клиентский компьютер не может войти в сеть или что то в этом роде.
что я делаю ручном режиме.
1. Пингую в ip 192.162.58.1.
2. проверяю папки.
3. проверяю свой (клиентский) комп.
Как можно это сделать программно.


 
Медвежонок Пятачок ©   (2009-12-09 15:11) [12]

Как можно это сделать программно.

на кой леший это надо?

боишсья, что с выключенного сервера кто-то скачает файл, если у тебя проверки не будет?


 
Xmen   (2009-12-09 15:30) [13]

Да нет.
Сделал когда то  почтовую прогу для нужд фирмы.
прога из 3 частей.
1. Клиент для филиала
2. Клиент для главного офиса
3. Серверная часть.
Идея такая в фирме есть примерно 20 отделов. каждый отдел имеет свой шифр. клиент филиала в архивированном виде отправляет файл для отдела через зашишенный канал. серверная прога принимает архивированный файл, открывает и по шифру файла помешает в определённую папку. (организовано работа с базой FiriBird) Это часть работает нормально. На сервере открыто доступ 2 папкам это архив и прем/отправка. Архив ведется по отправленным и принятием файлам.
клиент главного филиала сформирует файл для филиалов и помешает его в архив отправленных и в папку отправления. Вот здесь мне надо проверка сервера на работе с сетью. а то всякое может быть, если отрицательны ответ то должно появится сообщение.


 
Медвежонок Пятачок ©   (2009-12-09 15:31) [14]

то должно появится сообщение.

а сейчас, если связи с сервером нет, то доступ к серверу все равно есть и нет сообщения?


 
Xmen   (2009-12-09 15:39) [15]


> Медвежонок Пятачок ©   (09.12.09 15:31) [14]
> то должно появится сообщение.а сейчас, если связи с сервером
> нет, то доступ к серверу все равно есть и нет сообщения?
>

доступ к папке есть, нежно проверит сервер, доступен ли он для коннекта.


 
Медвежонок Пятачок ©   (2009-12-09 15:40) [16]

сказка про белого бычка.
ну нет допустим доступа.

и ты без проверки будешь копировать файл с одной шары на другую.
И что при этом?
Все скопируется и не будет сообщения об ошибке?


 
clickmaker ©   (2009-12-09 15:42) [17]

> нежно проверит сервер

попроси админа: "Проверь сервер. Только нежно"


 
Медвежонок Пятачок ©   (2009-12-09 15:42) [18]

доступ к папке есть, нежно проверит сервер, доступен ли он для коннекта.

Доступ к папке есть, но сервер недоступен для коннекта.
Какие твои действия?


 
Xmen   (2009-12-09 15:48) [19]

Мне нужно это программно проверит, чтобы клиентская программа не завис.


 
Медвежонок Пятачок ©   (2009-12-09 15:51) [20]

в момент проверки все есть.
сразу после проверки уже нет (потух свет).

и твой программа завис, хотя проверка сказала, что все ок.

твои действия?


 
Xmen   (2009-12-09 15:58) [21]

Это и хотел у вас узнать. :)
если я бы знал это то не спрашивал бы.


 
clickmaker ©   (2009-12-09 16:01) [22]

> чтобы клиентская программа не завис

если сервер недоступен, то по таймауту отвиснет.
останется поймать код ошибки.
Его все функции, которые можно использовать для копирования, возвращают так или иначе


 
Медвежонок Пятачок ©   (2009-12-09 16:02) [23]

и пинг здесь совершенно не при чем.

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

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


 
Anatoly Podgoretsky ©   (2009-12-09 16:10) [24]

> Медвежонок Пятачок  (09.12.2009 16:02:23)  [23]

У них что закуски не хватило?


 
Медвежонок Пятачок ©   (2009-12-09 16:12) [25]

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


 
Xmen   (2009-12-10 07:01) [26]

вам прямо в башорг :)


 
Xmen   (2009-12-10 07:24) [27]

ещё один вопрос как можно определить объём диска. есть ли диск полный программа должна об этом сообщить.


 
Xmen   (2009-12-10 07:28) [28]

Просто нужно узнать оставшийся пустое место диска.


 
AIK ©   (2009-12-10 08:34) [29]

var
b: Byte;
begin
b:=ord("C")-64;     //Локальный диск С
Edit1.Text:= Inttostr(diskfree(b));
end;


 
Xmen   (2009-12-10 08:46) [30]

а так можно
var
 FreeBytesAvailableToCaller: TLargeInteger;
 FreeSize: TLargeInteger;
 TotalSize: TLargeInteger;
 frsp:Double;
begin
 GetDiskFreeSpaceEx("D:",FreeBytesAvailableToCaller,Totalsize,@FreeSize);
 frsp:=FreeSize/(1024*1024*1024);
 ShowMessage(FloatToStr(frsp));
 ShowMessage(FloatToStr(FreeSize));

который из них правильно работает.
пока у меня оба правильно показали размер


 
AIK ©   (2009-12-10 09:06) [31]

diskfree более проше
смотри в модуле SysUtils, сама функция DiskFree так же использует GetDiskFreeSpaceEx



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2010.01.31;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.005 c
15-1259417380
koha!
2009-11-28 17:09
2010.01.31
Доступн для скачивания новый openSUSE11.2


4-1227704906
Mamed
2008-11-26 16:08
2010.01.31
Load Fond


15-1259186890
Германн
2009-11-26 01:08
2010.01.31
Мультизагрузка, boot.ini и иже с ними.


8-1201820831
cerber
2008-02-01 02:07
2010.01.31
"програмно" нажать ссылку в флеш анимации.


15-1258925416
Юрий
2009-11-23 00:30
2010.01.31
С днем рождения ! 23 ноября 2009 понедельник





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский