T
tuxedo
Gast
Servus,
ich hab den Fall, dass in einer Client-Server-Streaming-Anwendung, der Server dem Client viele Streams mit kontinuierlichen, zusammenhängenden Daten in Form eines einzigen Streams zur Verfügung stellt.
D.h. der Server multiplexed die vielen Streams häppchenweise in einen einzigen Stream (hängt vor jedes Datenpaket noch eine Stream-ID, damit der Client die Datenpäckchen noch ausseinanderhalten kann).
So, der Client ließt also abwechselnd ID und Datenpäckchen aus seinem InputStream vom Socket.
Für die Weiterverarbeitung braucht der Client jedoch einen InputStream. Also irgendwas woraus er lesen kann und was "InputStream"-Kompatibel ist.
Meine Idee wäre jetzt eine Art Dummy-Stream der sowohl ein WRITE als auch ein READ beherrscht. So könnte ich die Datenpäckchen, die vom Socket gelesen wurden, und deren zuordnung anhand der ID möglich ist, in einen DUmmyStream pro gefundener ID reinschreiben und die Anwendung könnte diesen als "InputStream" behandeln und rauslesen..
Meine Frage ist jetzt:
- Fällt jemand ne bessere Lösung ein?
- Hat jemand Hinweise oder Tipps um das performant zu machen?
- Gibts vielleicht schon sowas wie einen DummyStream? Im Prinzip ist das ja nix anderes wie ein RingPuffer...
Gruß Alex
ich hab den Fall, dass in einer Client-Server-Streaming-Anwendung, der Server dem Client viele Streams mit kontinuierlichen, zusammenhängenden Daten in Form eines einzigen Streams zur Verfügung stellt.
D.h. der Server multiplexed die vielen Streams häppchenweise in einen einzigen Stream (hängt vor jedes Datenpaket noch eine Stream-ID, damit der Client die Datenpäckchen noch ausseinanderhalten kann).
So, der Client ließt also abwechselnd ID und Datenpäckchen aus seinem InputStream vom Socket.
Für die Weiterverarbeitung braucht der Client jedoch einen InputStream. Also irgendwas woraus er lesen kann und was "InputStream"-Kompatibel ist.
Meine Idee wäre jetzt eine Art Dummy-Stream der sowohl ein WRITE als auch ein READ beherrscht. So könnte ich die Datenpäckchen, die vom Socket gelesen wurden, und deren zuordnung anhand der ID möglich ist, in einen DUmmyStream pro gefundener ID reinschreiben und die Anwendung könnte diesen als "InputStream" behandeln und rauslesen..
Meine Frage ist jetzt:
- Fällt jemand ne bessere Lösung ein?
- Hat jemand Hinweise oder Tipps um das performant zu machen?
- Gibts vielleicht schon sowas wie einen DummyStream? Im Prinzip ist das ja nix anderes wie ein RingPuffer...
Gruß Alex