Einzelnen Beitrag anzeigen

Udontknow

Registriert seit: 17. Jun 2002
223 Beiträge
 
#7

Re: TCP Client/Server: stabile Verbindung???

  Alt 18. Mai 2007, 16:40
Du solltest das trotzdem umbauen. Ein Server, der dauernd pollt, ist nicht so toll.

Vorschlag: Verwende doch ein ReadInteger, den der Server standardmäßig aufruft. Sowohl bei Verbindungsabbrüchen als auch bei normalen Beendigungen des Clients wirst du eine Indy-Exception erhalten. Hier der Code:

Delphi-Quellcode:
procedure TForm67.TCPServerExecute(AContext: TIdContext);
var Stream:TMemoryStream;
var Command:Integer;
begin
  try
    Command:=AContext.Connection.IOHandler.ReadInteger();
  except
    HandleClientLost; //<- Routine, die bei IdExceptions dann getriggert wird
    raise;
  end;
  //Hier Code für die Interpretierung des Commands hinterlegen
  if Command=0 then
    ...
end;
Gleichzeitig kannst du das ReadInteger nutzen, um eben bestimmte Anforderungen entgegen zu nehmen (die TCP-Verbindung wird ja normalerweise für Kommunikation genutzt).

Bis dann,

Andreas
  Mit Zitat antworten Zitat