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.