Forum: Netzwerke
by mjustin,
8. Feb 2012
Hier die stromsparende Variante, nach http://stackoverflow.com/a/544473/80901 (unter Berücksichtigung der Anmerkungen von Remy Lebeau):
procedure TFormMain.IdTCPServerExecute(AContext: TIdContext);
var
RxBuf: TIdBytes;
begin
RxBuf := nil;
with AContext.Connection.IOHandler do
begin
if InputBufferIsEmpty then
Forum: Netzwerke
by mjustin,
8. Feb 2012
Genau so ist es (wenn TConfigService ein TIdTCPServer ist) :)
Wichtiges Detail:
OnExecute wird vom TIdTCPServer in einer Schleife immer wiederholt (bis die Verbindung endet).
Man kann den Code noch etwas CPU freundlicher machen (Quelle). Wichtig sind die Kommentare, die ein anderes Vorgehen beschreiben als im Quelltext darüber.
Forum: Netzwerke
by mjustin,
7. Feb 2012
Welcher Socket Error ist es denn genau (es gibt viele)? Und wie sieht der Quelltext aus (von Server zu Client)?