Hallo Forum,
Ich habe ein kleines Problem und weis nicht genau, wie ich das lösen soll.
Ich erhalte von einem Socket einen ByteArrayInputStream. Dieser wird alle 256 bytes zerlegt. Das erste Byte ist eine Identifier, die angibt, in welchen "Ziel" ByteArrayInputStream die Daten gelangen sollen.
Es handelt sich hier quasi um einen "StreamDemultiplexer" (Es soll nur eine Verbingung via TCP geben....).
Mein Problem ist nun folgendes: Wenn ich den noch gemuxten Stream lese und das byte[] extrahiere, kann ich darüber einen ByteArrayInputStream anlegen. Nur ich weis nicht, wann die zugehörige Software diese Daten abgeholt hat. Zu dem wird ein erneutes hineinschreiben in byte[] nicht vom darüber liegenden Stream registriert, sodass diese Daten auch nie gelsen werden können.
Hat jemand eine Idee? Ich würde auch den Demux komplett anders aufbauen, wenn mir jemand einen Tipp geben könnte.
Grüße
Mirko
Ich habe ein kleines Problem und weis nicht genau, wie ich das lösen soll.
Ich erhalte von einem Socket einen ByteArrayInputStream. Dieser wird alle 256 bytes zerlegt. Das erste Byte ist eine Identifier, die angibt, in welchen "Ziel" ByteArrayInputStream die Daten gelangen sollen.
Es handelt sich hier quasi um einen "StreamDemultiplexer" (Es soll nur eine Verbingung via TCP geben....).
Mein Problem ist nun folgendes: Wenn ich den noch gemuxten Stream lese und das byte[] extrahiere, kann ich darüber einen ByteArrayInputStream anlegen. Nur ich weis nicht, wann die zugehörige Software diese Daten abgeholt hat. Zu dem wird ein erneutes hineinschreiben in byte[] nicht vom darüber liegenden Stream registriert, sodass diese Daten auch nie gelsen werden können.
Hat jemand eine Idee? Ich würde auch den Demux komplett anders aufbauen, wenn mir jemand einen Tipp geben könnte.
Grüße
Mirko