(13.12.2012 13:07 )Kiesch schrieb: Und eingedenk der Tatsache das die Übertragungsrate sinkt, sollte man wohl am besten erst ein niedrig aufgelöstes Bild schicken das quasi in jedem Fall durchkommen sollte und dann das richtige Bild. Braucht das richtige Bild zu lange wird dann halt nur das "Testbild" angezeigt.
Genau das habe ich mit "Bild runterskalieren und dann der Reihe nach verschicken" gemeint (nur in umgekehrter Reihenfolge; zuerst ein hochauflösendes, dann ein kleineres und noch ein kleineres - wie weit man das auch immer treiben möchte - das erste aus der Serie, das komplett ankommt, wird angezeigt). Und das "fehlerfrei" war vielleicht missverständlich. Mir ist klar, dass man bei den üblichen Protokollen fehlerhafte Pakete gar nicht zu Gesicht bekommt, weil die schon auf unteren Schichten verworfen werden. Das fehlerfrei bezog sich auf das ganze Bild. Wenn von den vielen Paketen, auf die ein JPEG beim Versand aufgeteilt werden muss, eins verloren geht/verworfen wird, kann das Bild nicht mehr angezeigt werden. Kleineres Bild -> weniger Pakete -> geringere Chance, dass eines fehlt.
TCP scheidet als Übertragungsprotokoll aus, da der ganze Verbindungs(wieder)aufbau und das automatische Neusenden bei verlorenen Paketen mehr Probleme macht als hilft (wie gesagt, Daten die erst nach ein paar Sekunden ankommen, interessieren mich nicht mehr). Am ehesten wird es also irgendetwas UDP-basiertes sein und auf Empfängerseite muss ich etwas erstellen, das die Päckchen wieder zusammen friemelt. Praktisch wäre natürlich auch ein Bildformat, dem ein paar fehlende Daten nichts ausmachen (d. h. der Rest vom Bild bleibt anzeigbar).
UDP lite wäre hier zumindest schonmal praktisch, wird von Labview aber, was ich gesehen habe, leider nicht unterstützt. UDP lite ist im Prinzip nichts anderes als UDP mit dem einen Unterschied, dass die Paket-Checksum nur über einen definierbaren Teil des Pakets, z. B. den Header, gebildet wird. Es wird damit der Anwendung die Enscheidung überlassen, ob ein Paket mit fehlerhafter Payload zu verwerfen ist. (Um's noch weiter zu treiben müsste auch auf link level, das Ethernet-Niveau, die CRC-Prüfung ausgeschalten werden, aber das geht nur noch mit speziellen Treibern für die Netzwerkverbindung)
Die Frage wäre eben, ob Labview von sich aus hier etwas ähnliches/besseres anbietet anbietet. Ich möchte ja das Rad nicht neu erfinden.