Am Donnerstag, 12. Mai 2005 22:27 schrieb Bernd Schwendele:
> [...]
>
> >,---[schnipp]---
> >
> >| #!/bin/sh
> >|
> >| # Zerhacke die Datei in kleine H�ppchen
> >| cat $1 | split --bytes=584 --suffix-length=5
> >|
> >| # Sende die H�ppchen
> >| for i in `ls x*`;
> >| do
> >|     cat $i | netcat -u -q 0 127.0.0.1 2006
> >| done
> >|
> >| # L�sche die H�ppchen
> >| rm x*
> >
> >`---[schnapp]---
> >
> >Das Splitten und L�schen kostet schon ziemlich viel zeit und wenn ich am
> >Emfpf�nger (wo ich die Daten hinschicke) genug gesehen habe, und das
> > Skript abbreche bleiben nat�rlich die ganzen gesplitteten Dateien �brig,
> > die dann per Hand l�schen muss.
> >
> >Kann man nicht irgendwie die Ausgabe von split direkt an netcat leiten
> > (Pipe funktioniert in diesem Fall nicht), ohne die gesplitteten Dateien
> > tats�chlich *anlegen* zu m�ssen?
>
> Sorry, mir stellt sich aber gerade die Frage, warum Du �berhaupt die
> Dateien splitten willst?
> Macht f�r mich gerade keinen Sinn...
> Gru�
>   Bernd

Weil die Anwendung die UDP-Pakete ungepuffert entgegen nimmt, d.h. sie liest 
ganz stumpf aus jeden eingehendem Datagram die ersten x Bytes, wirft den Rest 
weg und wartet auf neue Pakete. Das ist in sofern sinnvoll, da trotz aller 
Schw�chen von UDP die Datagramme immer vollst�ndig ankommen und die Anwendung 
an sich ca 60 mal pro Sekunde so ein Datagramm empf�ngt. Um das zu simulieren 
reicht es also nicht, die ganze Datei in einem Schub zu verschicken, da die 
Anwendung sonnst nur ein Datagramm "sieht".


Antwort per Email an