Einzelnen Beitrag anzeigen

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