On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
постоянный участник




Пост N: 2421
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 22.11.12 19:32. Заголовок: Можно ли определить доступность СЕРВЕРА и РЕСУРСА на нем ?


Есть ли функции на МиниГуи определяющие, включен СЕРВЕР в локальной сети ?
А также доступность сетевого ресурса ?

Если сделать проверку определенного файла на этом ресурсе типа FILE("\\SERVER\RESURCE\file.txt"), то
если включен СЕРВЕР определяется быстро, а если нет то вообще тормоз !
Устал уже боротся с пользователями, лучше табличку им повесить, СЕРВЕР НЕ ВКЛЮЧЕН !

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 16 [только новые]





Пост N: 18
Зарегистрирован: 25.03.10
ссылка на сообщение  Отправлено: 23.11.12 08:32. Заголовок: Я решаю эту задачу п..


Я решаю эту задачу применением Dirchange(<cDirectory>)
Функция свободно шарит по сети, назначает заданную
директорию текущей.
В зависимости от доступности ресурса выдает результат.
При этом надо не забыть, в случае успеха и если это просто была проверка доступности ресурса вернуться обратно


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2423
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.11.12 08:53. Заголовок: al-sklif пишет: Я р..


al-sklif пишет:

 цитата:
Я решаю эту задачу применением Dirchange(<cDirectory>)



Я пробовал эту функцию.
Если включен СЕРВЕР определяется быстро, а если нет то вообще тормоз !

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 19
Зарегистрирован: 25.03.10
ссылка на сообщение  Отправлено: 23.11.12 09:45. Заголовок: Специально, не полен..


Специально, не поленился, замерил время реакции. Если комп есть в сети, то путь прощупывается очень быстро, а вот если нет, то у меня время отклика заняло 4,5 секунды. Но это туточки. Сеть то не очень большая. Я в основном пользуюсь для проверки наличия нужных каталогов на включенных компах, поэтому наверно и не обращал внимания...

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 2553
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 23.11.12 09:59. Заголовок: Мне почему-то кажетс..


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

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 798
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 23.11.12 10:27. Заголовок: Андрей, попробуй вме..


Андрей, попробуй вместо имени сервера "\\Server" написать его ip-адрес (к примеру, "\\192.168.0.100"). Возможно, побыстрей будет.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2424
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.11.12 10:43. Заголовок: PSP пишет: попробуй..


PSP пишет:

 цитата:
попробуй вместо имени сервера "\\Server" написать его ip-адрес (к примеру, "\\192.168.0.100"



А есть ли функция перевода "\\Server" в ip-адрес ?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 20
Зарегистрирован: 25.03.10
ссылка на сообщение  Отправлено: 23.11.12 10:50. Заголовок: Попробовал с IP - шн..


Попробовал с IP - шником! Снова замерил время отклика. При доступности компа снова практически мгновенно, а вот при его отсутствии время отклика стало еще хуже - порядка 20 сек. Хотя эта существенная разница, возможно, связано с загруженностью сети в текущий момент?! Не знаю, попробую проверить оба варианта после рабочего дня!

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 147
Зарегистрирован: 17.06.10
ссылка на сообщение  Отправлено: 23.11.12 10:57. Заголовок: А что, пингануть нез..


А что, пингануть незя ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2425
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.11.12 14:18. Заголовок: fil пишет: А что, п..


fil пишет:

 цитата:
А что, пингануть незя ?


Это как делать ?
Если в локалке не назначены IP-адреса ?
Тогда как пинговать ?


Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 2557
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 23.11.12 14:32. Заголовок: У нас уже было похож..


У нас уже было похожее обсуждение:

http://clipper.borda.ru/?1-4-0-00000755-000-0-0-1340610875


Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 24.11.12 12:46. Заголовок: Вместо функции - применить команду PING


Можно просто вызывать командную строку PING xxxx>ping.txt
результат - в файл и анализируйте текст этого файла.
Например
Скрытый текст


Спасибо: 0 
Цитата Ответить
постоянный участник




Пост N: 2430
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.11.12 20:28. Заголовок: petr707 пишет: Можн..


petr707 пишет:

 цитата:
Можно просто вызывать командную строку PING xxxx>ping.txt
результат - в файл и анализируйте текст этого файла.



Нет, так не особо красиво... Есть язык высокого уровня, а мы делаем простой RUN....
Это самый крайний вариант, после Dirchange().

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 2571
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 30.11.12 19:27. Заголовок: На comp.lang.xharbou..


На comp.lang.xharbour Enrico Maria Giordano дал ping для win-платформы. Я не проверял.

#pragma BEGINDUMP 

#include <hbapi.h>
#include <winsock2.h>
#include <iphlpapi.h>
#include <icmpapi.h>

int hb_Ping( const char * cp )
{
HANDLE hIcmpFile;
unsigned long ipaddr;
DWORD dwRetVal;
char SendData[32] = "Data Buffer";
LPVOID ReplyBuffer;
DWORD ReplySize;

if( isalpha( cp[0] ) ) //host address is a name
{
WSADATA wsaData;
int iResult;

iResult = WSAStartup( MAKEWORD(2, 2), &wsaData );

if( iResult == 0 )
{
struct hostent *remoteHost = gethostbyname( cp );

if( remoteHost != NULL )
ipaddr = *(unsigned long *) remoteHost->h_addr_list[0];

WSACleanup();
}
}
else
ipaddr = inet_addr( cp );

if (ipaddr == INADDR_NONE)
return 1;

hIcmpFile = IcmpCreateFile();
if (hIcmpFile == INVALID_HANDLE_VALUE)
return 2;

ReplySize = sizeof(ICMP_ECHO_REPLY) + sizeof(SendData);
ReplyBuffer = (VOID*) malloc(ReplySize);
if (ReplyBuffer == NULL)
{
IcmpCloseHandle(hIcmpFile);
return 3;
}


dwRetVal = IcmpSendEcho(hIcmpFile, ipaddr, SendData, sizeof(SendData),
NULL, ReplyBuffer, ReplySize, 1000);

free(ReplyBuffer);

IcmpCloseHandle(hIcmpFile);

if (dwRetVal == 0)
return 4;

return 0;

}

HB_FUNC( HB_PING )
{
hb_retni( hb_Ping( hb_parc( 1 ) ) );
}

#pragma ENDDUMP


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2444
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.11.12 19:43. Заголовок: Не собирается: Harbo..


Не собирается:
Harbour 3.2.0dev (Rev. 18071)
Copyright (c) 1999-2012, http://harbour-project.org/
Compiling 'ping_test.prg'...
Lines 81, Functions/Procedures 1
Generating C source output to 'ping_test.c'... Done.

C compile error.

Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
ping_test.c:
Error E2209 ping_test.prg 14: Unable to open include file 'icmpapi.h'
Warning W8065 ping_test.prg 48: Call to function 'IcmpCreateFile' with no prototype in function hb_Ping
Warning W8069 ping_test.prg 48: Nonportable pointer conversion in function hb_Ping
Warning W8065 ping_test.prg 56: Call to function 'IcmpCloseHandle' with no prototype in function hb_Ping
Warning W8065 ping_test.prg 62: Call to function 'IcmpSendEcho' with no prototype in function hb_Ping
Warning W8065 ping_test.prg 66: Call to function 'IcmpCloseHandle' with no prototype in function hb_Ping
*** 1 errors in Compile ***



Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 2572
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 30.11.12 20:01. Заголовок: В *.h bcc55 действит..


В *.h bcc55 действительно нет прототипов для этих функций.
А в bcc582 они есть, и в mingw тоже есть. Дальнейшие действия очевидны без подсказки.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 47
Зарегистрирован: 08.02.11
ссылка на сообщение  Отправлено: 10.12.12 03:03. Заголовок: если просто пинганут..


если просто пингануть - то можно так
CallDll32 ( "Ping" , "TestInternetConnection.DLL" , IPAddr, 1000 )

ДЛЛка - здесь

http://narod.ru/disk/64380948001.5c9a4f1d1565600282c46e529d4203bc/TestInternetConnection.dll.html


Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 18
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет