Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi serverstatus herausfinden (https://www.delphipraxis.net/95446-serverstatus-herausfinden.html)

Innos 6. Jul 2007 23:32

Re: serverstatus herausfinden
 
also bisher hab ich nur das problem das erst gar keine pakete angezeigt werden :D ick klicke auf "capture interfaces" und sehe auch meine 2 (eine deaktivier) netzwerkkarten ... aba keine von denen versendet oder empfängt pakete, obwohl ich im inet surfe -.-

Innos 7. Jul 2007 10:29

Re: serverstatus herausfinden
 
so ok^^ also mittels Ethereal habe ich nun (glaube ich) die IP des spieleservers ausfindig gemacht...
Jetzt bin ich grad am versuchen, diesen server anzupingen, um zu erfahren, ob er online ist :)

habe die Sufu schon einige male benutzt und folgenen code benutzt:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
icmp.host:='121.128.133.88';  
icmp.ping;
showmessage(icmp.replystatus.fromipaddress);

end;
end;

procedure TForm1.PingReply(ASender: TComponent;
  const AReplyStatus: TReplyStatus);
begin
  if (AReplyStatus.MsRoundTripTime < 50) and (AReplyStatus.FromIpAddress <> '0.0.0.0') then
  showmessage(AReplyStatus.FromIpAddress);
end;
so durch die SuFu habe ich erfahren, dass sich dafür IcmpSendEcho gut eignet... ich weiß nur gar net was überhaupt Icmp (zB bei icmp.host:='...';) bedeutet, denn es wird von delphi auch gar nicht erkannt :wall:
gibts dazu irgendeine uses, die ich noch brauche oda liegts an etwas anderem? :wiejetzt:

mfg Innos :coder2:

Apollonius 7. Jul 2007 10:33

Re: serverstatus herausfinden
 
Für den Code brauchst du Indy. Hier wird die TIdIcmpClient-Komponente genutzt.

Innos 7. Jul 2007 10:46

Re: serverstatus herausfinden
 
also diese komponente find ich net -.-
die steht selbst net in Delphi Help drin
vllt kennt ja einer irgend eine inet seite, wo indy und sowas alles erklärt wird damit ich euch nicht zu spammen muss :D

aarrgghh helft mir :lol: :dp: :dp:
^^thx

EDIT: hab grad ma indy in die Help-Datei eingegeben... diese ganzen komponenten hab ich gar nicht T_T

EDIT2: so hab grad herausgefunden :D dass man einige sachen dafür in die uses schreiben muss... dort werden aba
IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, IdAuthentication;
NICHT erkannt... ich habe delphi 7 kA was ich machen muss

Sko 7. Jul 2007 11:01

Re: serverstatus herausfinden
 
Eine Google-Suche nach Bei Google suchendelphi indy hätte dich gleich beim zweiten Ergebnis auf die Projektseite gebracht :roll: .

Innos 7. Jul 2007 11:21

Re: serverstatus herausfinden
 
habe mir jetztr von dieser seite eine demo runtergeldaen aba selbst die geht nicht, weil er eben die TIdTCPClient-komponente und noch sone andere komponent nicht finden kann...

ich glaube langsam das liegt an meiner delphi version :roll:

EDIT: gut ok -.- bin zu doof^^ hab mir jetzt sowas runtergeladen und muss des jetzt iwo in den delphi ordner kopiern

Innos 7. Jul 2007 23:58

Re: serverstatus herausfinden
 
ja ich weiß, ich bin ABSOLUTER anfänger auf diesem gebiet :roll: :roll:

naja für all die, die auch sich die selben fragen stellen :D
hier isn link, wo man die indy-komponente runterladen kann und sich automatisch installiert :)

http://www.atozed.com/indy/plus/files.de.aspx

dann nochn link, von einem indy-tutorial, das ich noch net durchgelesen habe aba noch durcharbeiten werde :)

http://www.dsdt.info/tutorials/indy/

so :mrgreen: melde mich dann wenn ich son paar turorials durch habe :drunken:

mfg Innos

EDIT: MUHAHA^^ jetzt weiß ich langsam wovon ihr gesprochen habt :lol:

Innos 8. Jul 2007 01:54

Re: serverstatus herausfinden
 
sooo^^ führe hier glaub selbst gespräche :P

also kann jetzt IPs an pingen... habe folgenen Code

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
IdIcmpClient1.host:='127.0.0.1'; // bei meinem server 121.128.133.89 geht aba net T_T
IdIcmpClient1.ping;
end;

procedure TForm1.IdIcmpClient1Reply(ASender: TComponent;
  const AReplyStatus: TReplyStatus);
  var SensorExists:Boolean;
begin
  SensorExists := AReplyStatus.ReplyStatusType = rsEcho;
  if sensorExists=true then
  showmessage('jo klappt')
  else
  showmessage('geht net');
end;
kann damit meinen router zB oda ne IP von einer inet seite anpingen...
ich will aber meinen spieleserver anpingen und der geht net T_T
über Ethereal sehe ich, dass das spiel sich nur mit EINER ip verständigt... und es besteht auch echt kein zweifel... habe IP + Port von dem server aba da kommt immer eine negative rückmeldung obwohl er online sein muss (ich zock grad drauf)

gibt es vllt server die man nicht so einfach anpingen kann? was meint ihr?
sry für 3fach post kA -.- ich mach halt fortschritte :zwinker:

Innos 8. Jul 2007 11:00

Re: serverstatus herausfinden
 
mensch leutz^^
also pingen geht net habe jetzt aba was anderes: TClientSocket

ich verbinde mich mit der IP und dem port... das klappt auch soweit :) und der server sendet mir jede menge Zahlen -.-
und in diesem code denk ich ma wird drin stehen, wieviel grade auf dem server connected sind... :bounce1:

dann gibt auch noch so eine procedure in dieser kompnente: procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);

wie kann man denn nu son paar infos rauslesen... will ja nix verändern nur informieren ^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:33 Uhr.
Seite 2 von 2     12   

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