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

Вниз

Задачка = Проверить есть ли комп в сети   Найти похожие ветки 

 
Nikolas ShmuS   (2002-09-25 01:06) [0]

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


 
silenser   (2002-09-25 12:27) [1]

Пингуй


 
Song   (2002-09-25 12:55) [2]

IP и/или имя известны?


 
Anatoly Podgoretsky   (2002-09-25 13:05) [3]

Возможно и не простенькую, возможно и не решаемую, зависит от сети и от компьютера, например файрвол


 
Nikolas ShmuS   (2002-09-25 23:38) [4]

silenser подскажи плиз как отпиноговать в 5 Дельфи, плиЗ)


 
Nikolas ShmuS   (2002-09-25 23:42) [5]

Song я и то и то знаю........
возможно пингом, конечно, но я не знаю как отпинговать в 5 дельфи.


 
Nikolas ShmuS   (2002-09-25 23:42) [6]

=> Anatoly Podgoretsky ,необходимо самое простейшее......безо всяхий исхищрений)


 
IronHawk   (2002-09-25 23:46) [7]

В кладовка или в ФАКе что-то было, точно помню!


 
silenser   (2002-09-26 07:34) [8]

поставь компоненты и прочти статью http://www.cydsoft.com/vr-online/coding/d12_2001.htm


 
Дремучий   (2002-09-26 11:48) [9]

ICS - Internet Componen Suit


 
Ocean   (2002-09-26 13:15) [10]

Podgoretsky однажды предложил остроумно
command/c ping host >>file.txt

Но что делает ping? Наверное, шлет пустой IP-пакет и смотрит результат. Значит, можно использовать, например, TSocket. Эх, теории не знаю!


 
Anatoly Podgoretsky   (2002-09-26 13:24) [11]

Nikolas ShmuS (25.09.02 23:42)
Ты сначала определсь возможно ли пинговать нужные тебе компьютеры, команда в Ocean © (26.09.02 13:15)
Если возможно, то за тобой остается выбор какие Интернет компоненты для этого использовать, ICS, INDY или другие

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


 
Nikolas ShmuS   (2002-09-26 19:53) [12]

=> спасибо silenser © ......... посмотрю)


 
Nikolas ShmuS   (2002-09-26 19:56) [13]

=> Дремучий где его взять можно??? плиз


 
Nikolas ShmuS   (2002-09-26 19:57) [14]

=>silenser © там ссылоска на компанент убитая(


 
Wonder   (2002-09-26 21:36) [15]

http://delphi.mastak.ru/articles/icmp.html


 
Nikolas ShmuS   (2002-09-27 00:28) [16]

уже нашел спасибо)


 
Nikolas ShmuS   (2002-09-27 22:00) [17]

Нашел еще тут ринг, не требуюший не каких коспонентов, использующий также ICMP.exe )




unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,winsock,
StdCtrls;

type
IPINFO = record
Ttl :char;
Tos :char;
IPFlags :char;
OptSize :char;
Options :^char;
end;


type
ICMPECHO = record
Source :longint;
Status :longint;
RTTime :longint;
DataSize:Shortint;
Reserved:Shortint;
pData :^variant;
i_ipinfo:IPINFO;
end;

TIcmpCreateFile = function():integer; {$IFDEF WIN32} stdcall; {$ENDIF}
TIcmpCloseHandle = procedure(var handle:integer);{$IFDEF WIN32} stdcall; {$ENDIF}
TIcmpSendEcho = function(var handle:integer; endereco:DWORD; buffer:variant; tam:WORD; IP:IPINFO; ICMP:ICMPECHO; tamicmp:DWORD; tempo:DWORD):DWORD;{$IFDEF WIN32} stdcall; {$ENDIF}





type
TForm1 = class(TForm)
Memo1: TMemo;
Edit1: TEdit;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);







private
{ Private declarations }
public
{ Public declarations }
end;





const MaxHeight=500;
MaxWidth=500;
MinHeight=500;
MinWidth=500;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
wsadt : wsadata;
icmp :icmpecho;
HNDicmp : integer;
hndFile :integer;
Host :PHostEnt;
Destino :in_addr;
Endereco :^DWORD;
IP : ipinfo;
Retorno :integer;
dwRetorno :DWORD;
x :integer;

IcmpCreateFile : TIcmpCreateFile;
IcmpCloseHandle : TIcmpCloseHandle;
IcmpSendEcho : TIcmpSendEcho;

begin
if (edit1.Text = "") then begin
Application.MessageBox("Enter a HostName ro a IP Adress",
"Error", MB_OK);
exit;
end;
HNDicmp := LoadLibrary("ICMP.DLL");
if (HNDicmp <> 0) then begin
@IcmpCreateFile := GetProcAddress(HNDicmp,"IcmpCreateFile");
@IcmpCloseHandle := GetProcAddress(HNDicmp,"IcmpCloseHandle");
@IcmpSendEcho := GetProcAddress(HNDicmp,"IcmpSendEcho");
if (@IcmpCreateFile=nil) or (@IcmpCloseHandle=nil) or (@IcmpSendEcho=nil) then begin
Application.MessageBox("Error getting ICMP Adress","Error", MB_OK);
FreeLibrary(HNDicmp);
end;
end;
Retorno := WSAStartup($0101,wsadt);

if (Retorno <> 0) then begin
Application.MessageBox("Canґt Load WinSockets","WSAStartup", MB_OK);
WSACleanup();
FreeLibrary(HNDicmp);
end;

Destino.S_addr := inet_addr(Pchar(Edit1.text));
if (Destino.S_addr = 0) then begin
Host := GetHostbyName(PChar(Edit1.text));
end
else begin
Host := GetHostbyAddr(@Destino,sizeof(in_addr), AF_INET);
end;

if (host = nil) then begin
Application.MessageBox("Host not found","Error", MB_OK);
WSACleanup();
FreeLibrary(HNDicmp);
exit;
end;
memo1.Lines.Add("Pinging " + Edit1.text);

Endereco := @Host.h_addr_list;

HNDFile := IcmpCreateFile();
for x:= 0 to 4 do begin
Ip.Ttl := char(255);
Ip.Tos := char(0);
Ip.IPFlags := char(0);
Ip.OptSize := char(0);
Ip.Options := nil;

dwRetorno := IcmpSendEcho(
HNDFile,
Endereco^,
null,
0,
Ip,
Icmp,
sizeof(Icmp),
DWORD(5000));
Destino.S_addr := icmp.source;
Memo1.Lines.Add("Ping " + Edit1.text);
end;


IcmpCLoseHandle(HNDFile);
FreeLibrary(HNDicmp);
WSACleanup();



end;

end.


 
Nikolas ShmuS   (2002-09-27 23:34) [18]

http://delphi.mastak.ru/articles/icmp.html - это работает лучше!!!



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

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

Наверх





Память: 0.48 MB
Время: 0.012 c
3-82638
kate
2002-11-06 10:31
2002.11.25
Две БД Interbase в одном запросе


14-82919
Феликс
2002-11-04 23:07
2002.11.25
Чисто фразы и выражения пацанов :)


1-82825
oomneeq
2002-11-13 18:04
2002.11.25
Визуальная ли это компонента?


6-82906
drou
2002-09-27 17:38
2002.11.25
Подскажите хотя-бы плиз очень нуна


3-82673
Карелин Артем
2002-11-04 14:26
2002.11.25
Ветвление в хранимой процедуре. Каким образом?





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