Einzelnen Beitrag anzeigen

k6n

Registriert seit: 13. Feb 2009
13 Beiträge
 
#1

TClientsocket verbindet sich nur einmal

  Alt 27. Feb 2009, 01:02
Hallo,

Ich experimentiere gerade ein bisschen mit dem TClientSocket rum und bin dabei auf ein Problem gestoßen.
Ich habe eine Listbox mit einigen Testhosts, die auf jeden Fall alle erreichbar sind. (google, ebay usw...)
Jetzt möchte ich mich zu jedem Host nacheinander einmal verbinden, beim ersten mal klappt es ohne Probleme, doch beim 2. Aufruf von sock.open passiert überhaupt nichts mehr.

Woran könnte das liegen, muss man den Socket nach dem ersten Open zurücksetzen oder so?
Habe vieles ausprobiert, aber es geht einfach nicht, wieso?
Es wird auch keine Exception o.Ä geworfen, es passiert ganz einfach nichts!
An den Hosts liegt es definitiv nicht.
Der onDisconnect() Event tritt auch jedesmal korrekt wieder auf, aber er öffnet das Socket beim 2. Mal nicht mehr. Ich verstehe nicht wieso.

Hier ein Beispiel:
Delphi-Quellcode:
var i: integer;

//ButtonClick
i := 0;
sock.host := listbox1.items[i];
sock.port := 80;
sock.open;

//onConnect()
socket.sendtext('GET / HTTP/1.1'+#13#10+'Host: 'socket.remotehost+#13#10#13#10);

//onDisconnect()
listbox1.items[i] := listbox1.items[i] + ' ok';
inc(i);
//sock.close;
sock.host := listbox1.items[i];
sock.port := 80;
sock.open; //ab hier passiert nix mehr, wieso?
Danke für jeden Tipp.
  Mit Zitat antworten Zitat