Thema: Delphi Socket-Fehler 10055

Einzelnen Beitrag anzeigen

Chrisa

Registriert seit: 20. Okt 2003
Ort: Stockelsdorf
15 Beiträge
 
Delphi 7 Enterprise
 
#1

Socket-Fehler 10055

  Alt 5. Jan 2009, 05:34
Hallo,
ich habe folgendes Problem mit den Sockets in Delphi 7. Ich versuche mit einem TClientSocket alle 5 Sekunden eine Verbindung zum Server herzustellen (ClientSocket1.Open), wenn dieser beim ersten Versuch nicht erreichbar ist. Sobald die Verbindung erfolgreich aufgebaut werden konnte, wird diese Prozedur natürlic gestoppt. Jedoch erhalte ich nach einiger Zeit (auf meinem Rechner nach ca. 7400, auf meinem Laptop nach ca. 4000 Verbindungsversuchen) den Socket-Error 10055. Der Socket-Buffer oder die Warteschlange ist voll. Jedoch lasse ich bei jedem Socket-Fehler (in der Prozedur ClientSocket1Error) den Socket eigentlich schliessen.
Delphi-Quellcode:
procedure TForm1.ClientSocket1Error(Sender: TObject;
  Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
  var ErrorCode: Integer);
begin
...
ErrorCode:=0;
Socket.Close;
ClientSocket1.Close;
...
end;
Wenn ich im Taskmanager mir den Speicherverbrauch der Anwendung anschaue und beobachte, fällt mir auf, dass dieser immer größer wird. Selbst wenn ich den Socket lösche (ClientSocket1.Free) verringert sich der Speicherverbrauch nur um ca. 4 KB, auch wenn der vorher durch die Verbindungsversuche schon um viel mehr angestiegen ist als 4 KB.
Habe schon hier im Forum geguckt und gegooglt, jedoch keine akzeptable Lösung gefunden. Kann man die (anscheind) noch offenen Verbindungen löschen/beenden?

mfG Chrisa
  Mit Zitat antworten Zitat