Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi über indy bestimmten port anpingen? (https://www.delphipraxis.net/71467-ueber-indy-bestimmten-port-anpingen.html)

any_key 15. Jun 2006 17:54


über indy bestimmten port anpingen?
 
aHoyHoy
ich würd gerne mit nem programm nen bestimmten port auf nem anderen pc anpingen
wollte dazu den Idlcmp Client benutzen
jetzt hab ich das soweit das ich ne ip anpingen kann
aber wenn ich den port noch dazu schreibt stürzt mir das programm ab
kann mir vllt jemand helfen wie ich das machen muss oder ne andere mögichkeit sagen?

Sharky 15. Jun 2006 18:02

Re: über indy bestimmten port anpingen?
 
Hai any_key,

ein "Ping" erfolgt nicht über TCP. Darum wirst Du auch keinen TCP-Port anpingen können.

any_key 16. Jun 2006 13:18

Re: über indy bestimmten port anpingen?
 
aha
kannn ich das denn über nen anderen weg hinbekommen
(es gibt ja bei cmd auch die möglichkeit nen bestimmten port anzupingen)

Klaus01 16. Jun 2006 13:20

Re: über indy bestimmten port anpingen?
 
Zitat:

Zitat von any_key
aha
kannn ich das denn über nen anderen weg hinbekommen
(es gibt ja bei cmd auch die möglichkeit nen bestimmten port anzupingen)

dann schreibe mal bitte, wie das denn gehen soll?
Code:
C:\Documents and Settings\demsmfu8\Desktop>ping

Usage: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
            [-r count] [-s count] [[-j host-list] | [-k host-list]]
            [-w timeout] destination-list

Options:
    -t            Ping the specified host until stopped.
                   To see statistics and continue - type Control-Break;
                   To stop - type Control-C.
    -a            Resolve addresses to hostnames.
    -n count      Number of echo requests to send.
    -l size       Send buffer size.
    -f            Set Don't Fragment flag in packet.
    -i TTL        Time To Live.
    -v TOS        Type Of Service.
    -r count      Record route for count hops.
    -s count      Timestamp for count hops.
    -j host-list  Loose source route along host-list.
    -k host-list  Strict source route along host-list.
    -w timeout    Timeout in milliseconds to wait for each reply.


C:\Documents and Settings\demsmfu8\Desktop>
Grüße
Klaus

any_key 16. Jun 2006 16:46

Re: über indy bestimmten port anpingen?
 
Code:
ping ip:port

Dust Signs 16. Jun 2006 16:54

Re: über indy bestimmten port anpingen?
 
Halte ich ebenfalls für ein Gerücht, dass man einen Port einstellen könnte. Ports gibt's nur bei TCP und UDP - ICMP verwendet keine Ports, daher kannst du auch keine Ports pingen (vgl. auch RFC 792
Das höchste der Gefühle ist das hier:
Zitat:

The identifier and sequence number may be used by the echo sender
to aid in matching the replies with the echo requests. For
example, the identifier might be used like a port in TCP or UDP to
identify a session, and the sequence number might be incremented
on each echo request sent. The echoer returns these same values
in the echo reply.
Aber das hat nichts mit TCP- oder UDP-Ports zu tun. Ich würde dir empfehlen nachzulesen, was Ping eigentlich wirklich macht - dann verstehst du auch, warum es keinen Sinn macht, hier Ports anzugeben.

Dust Signs

Klaus01 16. Jun 2006 16:56

Re: über indy bestimmten port anpingen?
 
sehe ich auc so wie Dust Signs

Grüße
Klaus

Code:
C:\>ping [url]www.delphipraxis.net:80[/url]
Unknown host [url]www.delphipraxis.net:80[/url].

C:\>ping [url]www.delphipraxis.net[/url] :80
Bad parameter :80.

C:\>ping [url]www.delphipraxis.net[/url] : 80
Bad parameter :.

C:\>ping [url]www.delphipraxis.net[/url] : 80

Angel4585 2. Jul 2006 19:37

Re: über indy bestimmten port anpingen?
 
Also ich kann hiermit ganz gut pingen :gruebel:

Delphi-Quellcode:


var FExists : Boolean;



function TForm1.Pinged : Boolean;
var i : integer;
begin
Result:=False;
IdIcmpClient1.Host:=EIPAdresse.Text;
IdIcmpClient1.Port:=StrToInt(EPort.Text);
FExists:=True;
for i:= 0 to 9 do
  begin
  IdIcmpClient1.Ping;
  Application.ProcessMessages;
  end;
Result:=FExists;
end;


procedure TForm1.IdIcmpClient1Reply(ASender: TComponent;
  const AReplyStatus: TReplyStatus);
begin
FExists:=FExists and(AReplyStatus.ReplyStatusType = rsEcho);
end;
(wär das vllt was für die Codelib :stupid: )

MfG :angel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:14 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz