Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.01.31;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.01 c
4-1227644104
demon
2008-11-25 23:15
2010.01.31
Как очистить listbox?


2-1260352002
Жужузу
2009-12-09 12:46
2010.01.31
Запутался в объектах


2-1260365833
Danco
2009-12-09 16:37
2010.01.31
Как получит письмо с почты?


3-1233848470
M@D
2009-02-05 18:41
2010.01.31
Excel + Delphi


15-1258785213
Piter
2009-11-21 09:33
2010.01.31
HTML-ссылка с JS-обработчиком