Stdin2tcp

Aus M740 WikiWeb

Wechseln zu: Navigation, Suche

Dieser Artikel wird von mir (Lemmi) nicht mehr aktualisiert. Aktuelle Infos befinden sich im Wiki von open7x0.org unter dem gleichnamigen Thema »stdin2tcp«.

Datei: /usr/bin/stdin2tcp

Das eigens von Lemmi für die M740AV entwickelte Kommando stdin2tcp ermöglicht es, Streams der Box im Netzwerk via TCP/IP verfügbar zu machen. stdin2tcp leitet dabei die Standardeingabe an alle angemeldeten TCP-Clients weiter.

Inhaltsverzeichnis

Aufruf

Bei Aufruf ohne Angabe von Parametern erfolgt die 'usage'-Ausgabe:

usage: stdin2tcp [options] port
   -b n : buf size, 0..1024 KiB
   -f   : follow appended data (like tail -f)
   -q   : quiet        (log level=0)
   -v   : verbose      (log level=2)
   -V   : more verbose (log level=3)
   port : TCP/IP port, 1..65535

Durch die Option '-b' kann ein globaler Buffer (Größe in KiB) angelegt werden, indem die letzten Daten der Eingabe zwischengelagert werden. Bei einem Verbindungsaufbau werden dann zuerst diese Daten gesendet.

Durch die Option -f wird die Standardeingabe nicht beim Erreichen des Dateiendes geschlossen. Stattdessen wird auf die Vergrößerung der Datei gewartet. Dieses funktioniert ähnlich wie 'tail -f'.

Der Server speichert sonst keine Daten zwischen. Sollte ein Client die Daten nicht schnell genug entgegen nehmen, dann können Daten verloren gehen. In diesem Fall erfolgt keine Nachricht an den Client.

Ein angemeldeter Client kann durch das Senden von EOT (CTRL-D, ASCII 4) den Server zum Beenden der Verbindung auffordern. Dazu muß das Zeichen alleinig oder gefolgt von CR oder LF gesendet werden. Alle anderen Daten werden vom Server eingelesen und ignoriert.

Firmware

Tips

Auf einem Unix-System kann man mit bash und awk die Ausgabe mit einem Zeitstempel ergänzen und auf dem Bildschirm verfolgen:

awk '{print strftime("%T ") $0}' </dev/tcp/m740av/10001

'm740av' ist der DNS-Name der Box und kann auch durch eine IP-Adresse ersetzt werden.

Download

Die Quellen von stdin2tcp und anderer Programme ist im Forum verfügbar:

Verzeichnisse & Dateien der Firmware

/   (root file system; gemounted von /dev/mtd1)

Firmware Links

Persönliche Werkzeuge