AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Suche für Client die richtige Remote.Host-Angabe der Servers
Thema durchsuchen
Ansicht
Themen-Optionen

Suche für Client die richtige Remote.Host-Angabe der Servers

Ein Thema von Jumbo · begonnen am 27. Dez 2005 · letzter Beitrag vom 4. Feb 2006
Antwort Antwort
Seite 1 von 2  1 2      
Jumbo

Registriert seit: 27. Dez 2005
8 Beiträge
 
#1

Suche für Client die richtige Remote.Host-Angabe der Servers

  Alt 27. Dez 2005, 12:02
Hallo,

ich habe in meinem Delphi7-Programm eine TcpServer und einen TcpClient. Wenn der Server läuft, kann ich den Client nur mit Connect verbinden, wenn ich TcpClient1.RemoteHost := 'localhost'; zuweise. (Dann klappt auch das Senden zum Server.)

Jedoch:
Bei der Zuweisung TcpClient1.RemoteHost := '172.73.86.195'; (ist nicht das Original, verändert), was der IP des Rechners in meinem Netzwerk entspricht, bekomme ich keinen Kontakt. Wie kann ich die IP abändern, damit sich eine lokale Adresse ergibt, über die ich den Server finden kann? Denn schließlich möchte ich ja nicht nur mit dem eigenen Rechner in Kontakt treten, sondern mit den anderen des lokalen Netzwerkes.

Vielen Dank im Voraus!
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Suche für Client die richtige Remote.Host-Angabe der Ser

  Alt 27. Dez 2005, 13:48
Herzlich willkommen in der Delphi-PRAXiS, Jumbo.

Wenn du localhost verwendest, dann ist scheinbar sichergestellt, dass da auch jemand zuhört - dein eigenes Programm. Gilt das auch für deinen TestServer? Du könntest es zur Überprüfung einmal mit telnet ausprobieren.

Grüße vom marabu
  Mit Zitat antworten Zitat
Jumbo

Registriert seit: 27. Dez 2005
8 Beiträge
 
#3

Re: Suche für Client die richtige Remote.Host-Angabe der Ser

  Alt 27. Dez 2005, 14:35
Wenn ich mein Programm mit Server2/Client2 auf einem anderen Rechner(2) im lokalen Netzwerk laufen lasse und den Server2 aktiviere (Listening läuft), dann finde ich keine IP-Adresse, um mit Client1 von Rechner1 Kontakt aufzubauen. Ich habe hier irgendwo gelesen, dass man keine externe IP-Adresse nehmen kann. Muss ich nun aus der vollständigen IP eine lokale konstrieren?
Mit '127.0.0.193' oder so ähnlich? Daß übrigens die Rechner in meinem Netz über IP ansprechbar sind, erkenne ich an der Gratis-Software VNC, mit dessen Hilfe man sich den Bildschirm-Inhalt des anderen Rechners mittels IP auf den eigenen Schirm laden kann. Das funktioniert bei mir. (Natürlich werden auch alle lokalen Rechner unter Netzwerkumgebung aufgelistet.)

Gruß Jumbo
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Suche für Client die richtige Remote.Host-Angabe der Ser

  Alt 27. Dez 2005, 19:03
Hallo Jumbo,

klappt prima bei mir:

Delphi-Quellcode:
procedure TDemoForm.ButtonClick(Sender: TObject);
var
  s: TStrings;
begin
  s := TStringList.Create;
  with TCPClient do
  begin
    RemoteHost := 'decius';
    RemotePort := '80';
    Connect;
    SendLn('GET /');
    SendLn('');
    while Connected and WaitForData(1000) do
      s.Add(ReceiveLn());
    Disconnect;
  end;
  ShowMessage(s.Text);
  s.Free;
end;
Was machst du anders?

marabu
  Mit Zitat antworten Zitat
Jumbo

Registriert seit: 27. Dez 2005
8 Beiträge
 
#5

Re: Suche für Client die richtige Remote.Host-Angabe der Ser

  Alt 27. Dez 2005, 19:46
Also, ich liste mal das Wichtigste auf:

procedure TForm1.FormActivate(Sender: TObject);
begin
TcpServer1.LocalPort := '5000';
TcpClient1.RemotePort:= '5000';
MeldeCon; //Meldet den Verbindungsstatus hier:Weder Server noch Client aktiv
end;

procedure TForm1.ServerEinBtnClick(Sender: TObject);
begin
TcpServer1.Open;
MeldeCon; //Meldet den Verbindungsstatus hier: Server aktiv
end;

procedure TForm1.ClientEinBtnClick(Sender: TObject);
begin
//TcpClient1.RemoteHost := '192.33.53.123';
//TcpClient1.RemoteHost := 'dreamsys.local';
//TcpClient1.RemoteHost := 'dreamsys';
//TcpClient1.RemoteHost := 'ACER Laptop.local';
//TcpClient1.RemoteHost := '192.33.53.182';
//TcpClient1.RemoteHost := '0.0.0.182';

//TcpClient1.RemoteHost := '127.23.56.234';
//TcpClient1.RemoteHost := '127.0.0.234';
//TcpClient1.RemoteHost := 'localhost';

LabelC.Caption:= 'Verbindung wird gesucht';update
TcpClient1.Open;
MeldeCon; //Meldet den Verbindungsstatus hier: Client aktiv
end;

Es kommt nur eine Verbindung vomClient zum Server zustande, wenn ich die letzten drei RemoteHost-Zuweisungen nehme. Das sind aber alles nur localhost-Angaben. Ich komme einfach mit keiner der ersten 6 Angaben weiter.

Gruß Jumbo
  Mit Zitat antworten Zitat
Jumbo

Registriert seit: 27. Dez 2005
8 Beiträge
 
#6

Re: Suche für Client die richtige Remote.Host-Angabe der Ser

  Alt 27. Dez 2005, 21:30
Ich bin einen Schritt weiter gekommen. Mit Port 80 komme ich an einem Rechner weiter. An einem anderen Rechner bekomme ich mit Port 80 nicht mal den Server zum Laufen und mit Port 81 habe ich (vorübergehend) ein Kontakt von Client/Rechner1 zu Server/Rechner2. Ist aber momentan auch schon wieder vorbei.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: Suche für Client die richtige Remote.Host-Angabe der Ser

  Alt 28. Dez 2005, 06:08
Port 80 habe ich in meinem Code nur verwendet, weil ich zu faul war ein eigenes Server-Programm aufzusetzen - ich wusste, dass auf der Zielmaschine ein HTTP-Server auf Port 80 lauscht. Mir scheint deine Probleme liegen nicht im Umgang mit der Komponente TCPClient. Wer administriert denn die Rechner, mit denen du dich verbinden willst? Wer weiß, welche Ports belegt und welche frei sind? Ist da eventuell eine Firewall eingerichtet? Wer vergibt die seltsamen IP-Adressen, die ich in deinem Quelltext sehe?

marabu
  Mit Zitat antworten Zitat
Jumbo

Registriert seit: 27. Dez 2005
8 Beiträge
 
#8

Re: Suche für Client die richtige Remote.Host-Angabe der Ser

  Alt 28. Dez 2005, 16:21
Also Marabu, zunächst mal vielen Dank für deine Mühe.

Ich habe einen Elsa - Lan - Router, der die Adressen automatisch vergibt. Du hast recht, jetzt muss ich mich mal um die Ports kümmern. Außerdem habe ich jetzt bei den Rechnern den Wurm-Schutz temporär abgeschaltet und da lief es z.B. auf Port 81 problemlos. Jetzt werde ich noch ein paar Comboboxen für die schnelle Wahl von Ports und IP-Adressen hinzufügen und dann melde ich mich nochmal.

Gruß Jumbo
  Mit Zitat antworten Zitat
Jumbo

Registriert seit: 27. Dez 2005
8 Beiträge
 
#9

Re: Suche für Client die richtige Remote.Host-Angabe der Ser

  Alt 28. Dez 2005, 19:35
Sag mal Marabu,

könntest Du mir freundlicherweise auch die Server-Antwort auf Deine "Get" - Anfrage des Client hier hereinstellen. Insbesondere stelle ich in der Prozedur
procedure TForm1.TcpServer1Accept(Sender: TObject;
ClientSocket: TCustomIpClient);
unter ClientSocket keine brauchbare Host und Port-Angabe fest.

Gruß Jumbo
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

Registriert seit: 7. Mär 2004
Ort: Schwerin
1.089 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Suche für Client die richtige Remote.Host-Angabe der Ser

  Alt 28. Dez 2005, 20:14
hi jumbo,

versuche mal die eigenschaft Delphi-Referenz durchsuchenTCPClient.RemoteAddress. die ist, glaube ich, für IP-adressen gedacht.

aenogym
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 07:53 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