Avanti

Konsistorium EKsOL allegro at eksol.de
Fr Jul 7 15:02:03 CEST 2000


Sehr geehrter Herr Fischer,

>> Bei Ihnen fällt mir auf, daß das schließende Listentag fehlt </LI>.
>Das </LI>-Tag ist "optional", und sollte von einem Browser nicht
>verlangt werden. Soweit ich sehe, ensteht das Problem auch schon vor der
>Übergabe an dem Browser, und Avanti ist HTML doch egal.
Ja und Nein.
Ja: Ihr Anhang zeigt, daß das Problem eher ensteht, weil auch er die
besagten Nullblöcke hat.
Nein: Sie können auch den Browser mit überlangen Zeilen überfüttern, so daß
bei der Anzeige des Quelltextes im Browser entstandene Fehler (Null-Bytes
weil die Datenstruktur in die die Zeilen gegangen sind übergelaufen ist)
mitnimmt und man meint: Das hat Avanti gemacht. Der Fehler kann aber sehr
wohl später entstehen, wie folgt:
>> Man kann solche Fehler theoretisch auch erzeugen, wenn man in der
>> Exportparameterdatei den Escape-Character "\n"  am Zeilenende vergißt.
>> Dann steckt der Fehler im Auslesen des Socket.
>Das verstehe ich leider nicht. Die Daten kommen zeilenweise an. Wo soll
>"\n" stehen?
In der Ausgabe Exportparameterdatei. Und mindestens hier zeigt Ihr Anhang im
Hexeditor schon eine Macke: Die Parameterdatei schmeißt nur "\n" raus
Hex 0A Dez 10, also Zeilenendekennung Unix und nicht "\r \n" Hex 0D 0A Dez
13 10 also Dos/Windows-Format.
Wenn Ihr Perl-Script den Socket ausliest, leert es normalerweise den
Socketbuffer auf eine gewisse Maximallänge spätestens aber bis zum "\n".
Kommt kein "\n" sind die Fehlermöglichkeiten vielfältig, je nachdem was noch
gemacht werden soll. In der Regel läuft irgendeine Variable über. Mindestens
aber ist es in der Nachbearbeitung schwieriger AVANTI:EOJ zu erwischen. Auch
wird ja normalerweise in eine Datenstruktur kulminiert werden müssen, die
herkömmlich String-Längenbegrenzungen überwindet, etwa in einen Array of
String. (Gilt alles nur wenn man noch nacharbeitet)
Lange Rede kurzer Sinn, setzen Sie doch einmal versuchsweise ein p{13 10} in
ihrer Exportparameterdatei vor die Kategorien. Dann kann man die Datei
Avanti.txt auch wieder in einen Feld-Wald-und-Wiesen-Editor einlesen.
Eine Unwägsambarkeit weniger.
Dann auf das </LI>, selbst wenn optional würde ich nicht nur deshalb
verzichten wollen weil es optional ist.
Eine Idee wäre dann noch mal statt einer Listenumgebung ein <PRE> zu nehem
und sonst garkein HTML (nur mal probehalber, weil manchmal die seltsamsten
Dinge geschehen, auch wenn es eigentlich garnicht sein kann!)
Eine Unwägsambarkeit weniger.
Eine Idee ist ja überdies - wie geschrieben - die Sätze in Blöcken zu holen.
D.h. Satz 1-100: Socket auf, Socket zu, Satz 101...
Sie lesen ja anfangs die Trefferzahl aus. Ich gebe zu, daß es etwas
schwieriger zu programmieren ist. Aber:
Eine Unwägs...

Nein, eine Lösung weiß ich nicht, aber gute Ratschläge haben wir doch immer
:-)

MfG

Volker Bachschneider






Mehr Informationen über die Mailingliste Allegro