Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Sockets.pas - Fehler in TCustomTcpServer.Accept? (https://www.delphipraxis.net/130124-sockets-pas-fehler-tcustomtcpserver-accept.html)

Neutral General 3. Mär 2009 23:35


Sockets.pas - Fehler in TCustomTcpServer.Accept?
 
Hi,

Also ich hatte jetzt seit Stunden mit einem Problem zu kämpfen... Kurz nachdem ein Client auf meinen Server connected ist, wurde er auch wieder disconnected. Ich hatte echt keine Ahnung woher das Problem kommen soll. Habe den Fehler erst in meinem Code gesucht, dann in der Sockets.pas.

Dort ist die Methode Accept, des TTCPServers überladen. Die Methode, die ich aufgerufen hatte war folgende:

Delphi-Quellcode:
function TCustomTcpServer.Accept(var ClientSocket: TCustomIpClient): Boolean;
begin
  // Was auch immer...
  DoAccept(ClientSocket)
end;

function TCustomTcpServer.Accept: Boolean; // <--- Die hab ich aufgerufen. Im OnAccept dann reagiert und das neue Socket abgeholt.
var
  ClientSocket: TCustomIpClient;
begin
  ClientSocket := TCustomIpClient.Create(nil);
  try
    Result := Accept(ClientSocket);
  finally
    ClientSocket.Free; // <--- .......... -.-
  end;
end;
Das Problem hab ich im Code schon markiert... Ist das ein Fehler? Ich benutze jetzt das andere Accept und damit funktioniert es. Aber wofür soll das andere Accept gut sein, wenn das Socket nach dem OnAccept Event eh wieder geschlossen und gelöscht wird? :roll:


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:57 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