AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi TClientServer verbindet nicht!?
Thema durchsuchen
Ansicht
Themen-Optionen

TClientServer verbindet nicht!?

Ein Thema von Aenogym · begonnen am 5. Sep 2004 · letzter Beitrag vom 5. Sep 2004
Antwort Antwort
Benutzerbild von Aenogym
Aenogym

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

TClientServer verbindet nicht!?

  Alt 5. Sep 2004, 12:26
hi ihr,

ich habe auf meinem rechner einen TServerSocket laufen. er funktioniert ohne probleme. wenn ich allerdings nun das client-programm starte und den TClientSocket öffne, aktiviert er sich schlicht und einfach nicht.
ich habe schon meinen ganzen code mit breakpoints zugekleistert, um zu schauen, ob irgendwo die adresse und/oder der port nicht gesetzt wird, aber fehlanzeige.

der server läuft auf meinem rechner auf port 44044. dann starte ich hier am selben rechner den clienten. clientsocket-adresse ist '127.0.0.1' und port natürlich auch auf 44044. beim aufruf von clientsocket.open; oder clientsocket.active:=true; passiert nichts, d.h. die eigenschaft active ist sofort danach wieder auf false.

ich bekomme keine fehlermeldung oder so. einfach garnichts. vorher ging es noch ohne probleme, jetzt hab ich ein paar dinge neugecodet und er verbindet nciht mehr. aber da adresse und port gesetzt sind, sollte er doch fehlerfrei verbinden, zumal ich keine Exception o.ä. bekomme....

woran könnte das liegen?

dankbar für jede antwort,
Aenogym
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
stefan2005

Registriert seit: 30. Sep 2003
Ort: Puchheim
250 Beiträge
 
Delphi 6 Personal
 
#2

Re: TClientServer verbindet nicht!?

  Alt 5. Sep 2004, 15:26
Hi,
also wenn du wirklich alles richtig gesetzt hast (Port,IP des Hostes/Server geöffnet) dann könnte es vielleicht sein dass die Pakete von einer Firewall blockiert werden (war bei mir mal der Fall)!

cu,
stefan2005
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

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

Re: TClientServer verbindet nicht!?

  Alt 5. Sep 2004, 15:28
hi,

nein, ich habe gerade nochmal geschaut. der client sowie der server haben uneingeschränkten zugriff.

ich kann mir das echt nicht erklären

Aenogym
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
stefan2005

Registriert seit: 30. Sep 2003
Ort: Puchheim
250 Beiträge
 
Delphi 6 Personal
 
#4

Re: TClientServer verbindet nicht!?

  Alt 5. Sep 2004, 15:36
Hi,
vielleicht könntest du ein wenig (den für dieses Problem wichtigen) Code posten, da sonst eine Hilfe schwer werden könnte und vielleicht irgendwo ein Leichtsinnsfehler sich versteckt hat, den man selber meist überliest

Probier mal einen anderen Port und bei Host vielleicht "localhost" !

Auch könntest du bei den Events z.B. bei OnConnect oder OnError eine MessageBox aufrufen, damit du siehst, wie weit der Code ausgeführt wird und es zu welchen Events kommt !

cu,
stefan2005
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

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

Re: TClientServer verbindet nicht!?

  Alt 5. Sep 2004, 18:24
hi,

ich hab mal nen halbstündigen debug-durchlauf gemacht und wirklich jede einzelne aktion beider programme (client und server) beobachtet:

beim aufruf von clientsocket.open; wird beim server das OnClientConnect-Event ausgelöst. sofort darauf steht die eigenschaft clientsocket.active auf false - demnach kann der client keine daten an den server senden.
wenn der server aber nun daten an den clienten sendet, reagiert der client auch richtig darauf.

ist das nicht komisch?

hier mein (zerstückelter) connect-code:

Delphi-Quellcode:
begin
  if clientsocket1.active then
    exit;

  //prüfen, ob server schon angegeben wurde
  //...

  //usernamen & pw aus edits lesen
  //...

  //socket einstellen und verbinden
  clientsocket1.Address := 'localhost'; //127.0.0.1
  clientsocket1.port := 44044;
  ClientSocket1.Open; //ClientSocket1.Active := true;

  //pw abrufen
  check_pw := clientsocket1.socket.sendtext('getuserpw|Aenogym');
  //wenn diese nachricht am server ankommt, sucht er das passwort des benutzers
  //und sendet es zurück zum clienten. leider kommt die nachricht nie an, da active:=false

  //md5 aus passwort generieren
  pw := md5print(md5string(pw));

  //pw's vergleichen
  if pw <> check_pw then
  begin
    showmessage('Falsches Passwort');
    exit;
  end
  else
  begin
    //kontakliste abrufen
    //hier wird wieder per sendText() etwas an den server geschickt

    if clientsocket1.active then
      showmessage('Aktiv');
  end;
end;
ich habe es schon geschafft, dass wenn der server nicht gestartet ist, wieder die normale Exception kommt (socket error 10060).
anscheinend ist der client auch mit dem server verbunden (vorausgesetzt, dieser ist gestartet ). allerdings kann der client keine daten senden, da active immer false ist...

ich kanns mir nicht erklären,
Aenogym
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
stefan2005

Registriert seit: 30. Sep 2003
Ort: Puchheim
250 Beiträge
 
Delphi 6 Personal
 
#6

Re: TClientServer verbindet nicht!?

  Alt 5. Sep 2004, 19:04
Hi,
also hast "ClientSocket1.Address := 'localhost';"
ich wusste gar ned dass das geht (oder auch nicht)

probier anstatt diesem mal dies hier:
Code:
ClientSocket1.Host := 'localhost';
ich hoffe ich konnte dir helfen
cu,
stefan2005
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

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

Re: TClientServer verbindet nicht!?

  Alt 5. Sep 2004, 19:18
ups,

war ein fehler, als ich meinen code zerstückelt hab ich hab, wenn ich localhost angegeben habe, natürlich die host-variable genutzt. aber da liegt ja nicht das problem.

mein client verbindet richtig und kann auch ordnungsgemäß daten empfangen. leider steht clientsocket1.active immer auf false, egal was ich anstelle. und solange die fals eist, kann der client keine daten senden

ja, du hast mir schon soweit geholfen, dass ich eine fast funktionierende verbindung aufbauen kann

nachtrag: ich habe nur mal so zum spaß folgendes in den cod emit rein geschrieben:

Delphi-Quellcode:
while clientsocket1.active=false do
begin
  clientsocket1.active := true;
  clientsocket1.open;
end;
...endlosschleife...

danke,
Aenogym
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
stefan2005

Registriert seit: 30. Sep 2003
Ort: Puchheim
250 Beiträge
 
Delphi 6 Personal
 
#8

Re: TClientServer verbindet nicht!?

  Alt 5. Sep 2004, 20:09
Hi,
also schon sehr sehr komisch !
Da kann ich dir auch nimmer weiterhelfen.

Vielleicht probierst du ja mal das Client/Server Programm auf einem anderen PC aus.
Könnt ja sein dass dein PC nicht mag

cu,
stefan2005
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

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

Re: TClientServer verbindet nicht!?

  Alt 5. Sep 2004, 20:12
Zitat von stefan2005:
also schon sehr sehr komisch !
Da kann ich dir auch nimmer weiterhelfen.
danke trotzdem soweit. ich kann's mir auch nicht erklären, zumal es vor einer woche noch ging.

(da is man mal ne woche nicht an der kiste und schon läuft nix mehr... )

Aenogym
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
Benutzerbild von Manzoni
Manzoni

Registriert seit: 15. Feb 2004
Ort: Berlin
120 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: TClientServer verbindet nicht!?

  Alt 5. Sep 2004, 22:00
Poste doch noch ein wenig code vom server, evtl. liegt ja da der fehler, dass du die verbindung vom server her schließt?
Bob
  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 08:01 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