AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Indy Ip Ermitteln

Ein Thema von Vjay · begonnen am 8. Jun 2004 · letzter Beitrag vom 19. Aug 2006
Antwort Antwort
Vjay

Registriert seit: 2. Dez 2003
Ort: Berlin/Eschede
481 Beiträge
 
Delphi 7 Professional
 
#1

Indy Ip Ermitteln

  Alt 8. Jun 2004, 15:49
Hi und zwar habe ich einen TIdTCPServer, dieser wird von mehreren Clients kontaktiert.

Ich will die Clients über ihre IPs auseinander halten, wie bekomme ich diese raus?

Delphi-Quellcode:
 procedure TMainForm.CommandServerTIdCommandHandlerblablaCommand( ASender: TIdCommand);
 begin
  ASender.Thread.Connection.???
 end;
Wer später bremst ist eher tot.
  Mit Zitat antworten Zitat
Neuni

Registriert seit: 25. Feb 2004
815 Beiträge
 
Delphi 7 Personal
 
#2

Re: Indy Ip Ermitteln

  Alt 8. Jun 2004, 15:50
Du könntest einfach über den Client die IP an den server senden. Also wenn der Client connected, schickt er automatisch seine IP an den Server.
  Mit Zitat antworten Zitat
Vjay

Registriert seit: 2. Dez 2003
Ort: Berlin/Eschede
481 Beiträge
 
Delphi 7 Professional
 
#3

Re: Indy Ip Ermitteln

  Alt 8. Jun 2004, 15:52
Geht nicht, Clients könnten mehrere Netzwerkkarten haben etc etc.

Kann ich nicht irgendwie auf die Socket Informationen zugreifen ?? Dem Server muss ja logischerweise die IP + Port des Clients bekannt sein.
Wer später bremst ist eher tot.
  Mit Zitat antworten Zitat
Vjay

Registriert seit: 2. Dez 2003
Ort: Berlin/Eschede
481 Beiträge
 
Delphi 7 Professional
 
#4

Re: Indy Ip Ermitteln

  Alt 8. Jul 2004, 10:11
Ich habs rausgefunden.

ASender.Thread.Connection.Socket.Binding.PeerIP;
Wer später bremst ist eher tot.
  Mit Zitat antworten Zitat
-lx-
(Gast)

n/a Beiträge
 
#5

Re: Indy Ip Ermitteln

  Alt 19. Aug 2006, 19:39
Eine Frage dazu: Wie kann der TIdTCPServer (Indy10) seine eigene IP ermitteln, sobald er beim aufrufen des programms gestratt wird.
Also nur gestratet wird - ohne jegliche ein- oder ausgehende Verbindungen.


Delphi-Quellcode:
Memo1.Lines.Add(AContext.Binding.IP) ; // IP Adresse des Servers
Memo1.Lines.Add(IntToStr(AContext.Binding.PeerPort)) ;
So kann ich bei TIdTCPServer Eriegnissen die IP und en Port des Servers herausbekommen.
Jedoch will ich dass IP und Port des Servers sofort beim öffnen es programms angezeigt werden.

Wie kann ich das bsp. im OnCreate -Event des Hauptformulars einbetten?


Wieso wird mit " AContext.Binding.PeerPort " nicht der richtige Port angeiegt? Bei mir zeigt er 2011 an jedoch wurde 50 005 eingetragen !?




mfg
Cya
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Indy Ip Ermitteln

  Alt 19. Aug 2006, 20:40
Guten Abend,
Delphi-Quellcode:
  function GetLocalIPs: String;
    type PPInAddr= ^PInAddr;
    var
      wsaData : TWSAData;
      HostInfo : PHostEnt;
      HostName : Array[0..255] of Char;
      Addr : PPInAddr;
    begin
      Result:='';
      if WSAStartup($0102, wsaData) <> 0 then
        Exit;
      try
        if GetHostName(HostName, SizeOf(HostName)) <> 0 then
          Exit;
        HostInfo:= GetHostByName(HostName);
        if HostInfo=nil then
          Exit;
        Addr:=Pointer(HostInfo^.h_addr_list);
        if (Addr=nil) or (Addr^=nil) then
          Exit;
        Result:=StrPas(inet_ntoa(Addr^^));
        inc(Addr);
        while Addr^ <> nil do begin
          Result:=Result+^M^J+StrPas(inet_ntoa(Addr^^));
          inc(Addr);
        end;
      finally
        WSACleanup;
      end;
    end;
Die Funktion zeigt Dir alle IP Adressen des Rechners.
Die WinSock und die NB30 Unit müssen dazu eingebunden werden.

Oder mit IDIPWatch sollte das auch zu erschlagen sein.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:30 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