Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   IdTelnet - Etwas auslesen? (https://www.delphipraxis.net/176188-idtelnet-etwas-auslesen.html)

Magic94 18. Aug 2013 13:12

IdTelnet - Etwas auslesen?
 
Hallo,
Ich habe auf meinem Homeserver minidlna laufen. Nun wollte ich ein kleines Programm schreiben, womit sich der Server "bedienen" lässt. Also Starten, Stoppen und ein Rescan der Daten machen lässt.

Funktioniert auch alles soweit. Nur wäre es schön wenn man auch weiss was der Server grade macht. Ob er ausgeschaltet ist oder nicht.
Der Befehl dazu ist "service minidlna status", welcher dann in z.B. Putty schreibt "minidlna is running." Wäre ja eigentlich schnell gemacht - nur:

r: String; (als hinweis)

Zitat:

r := ???

if r = 'minidlna is running.'
then Shape2.Brush.Color := clLime
else Shape2.Brush.Color := clRed;
IdTelnet.ReadString(20); - Programm friert ein
IdTelnet.ReadLn('.',1000,20); - Programm friert ein

Ich habe leider keine Idee mehr.

Grüße :)

mjustin 18. Aug 2013 13:31

AW: IdTelnet - Etwas auslesen?
 
TIdTelnet arbeitet asynchron - man braucht kein ReadLn. Der Server schreibt seine Antwort in den Socket, und in der TIdTelnet Instanz wird sie in einem Thread angenommen, der auf Serverdaten wartet. Dann werden die Daten mit dem Hauptthread synchronisiert an ein Event weitergegeben. (Bei den Indy Demos müsste ein Demo für TIdTelnet sein, an dem man sich orientieren kann, ansonsten einfach mal im Source schauen was der Receive Thread so macht.)


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