# mehrere Streams über einen Socket?



## lucaro (27. Mai 2008)

Hi

Ist es möglich, mehrere verschiedene Streams über die selbe Socketerbindung laufen zu lassen?
Falls nein, ist es möglich, mehrere Streams in einem Stream zu tunneln?

thx

Lucaro


----------



## tuxedo (28. Mai 2008)

Eine Socketverbindung = Eine Streamverbindung. 

Du kannst dir aber einen "Wrapper" schreiben der mehrere Streams in einen Stream verpackt und auf der anderen Seite wieder entpackt. Sind ja nur bytes. Was du damit anstellst ist deine Sache. Möglich ist nahezu alles.

- Alex


----------



## DamienX (28. Mai 2008)

Kann dir zwar nich folgen für was das gut sein sollte
aber vllt hilft dir ja NIO weiter...

Da arbeitet man mit Buffern und Kanälen statt mit Streams... 

- Auch Alex


----------



## lucaro (28. Mai 2008)

Es ist eben so:
ich arbeite an einem Programm bei dem mehrere Ebenen möglichst unabhängig voneinander mit einem Server kommunizieren müssen. Nun wollte ich der Einfachheit halber nicht jedes mal eine neue Verbindung zum Server aufbauen, sondern eine "virtuelle Verbindung" durch eine bestehende hindurch umleiten.

Gibt es denn keine solchen Wrapper, die solche "virtuellen Streams" erstellen und dynamisch verwalten können?
Wenn nein, kann mir jemand einen Tipp geben, wie ich es am besten anstelle, einen solchen Wrapper (möglichst ohne lange Warteliste) zu bauen?

thx

Lucaro


----------



## FArt (29. Mai 2008)

Warum so kompliziert?

Baue dir einen CommunicationService, der eine Verbindung zum Server hält.
Calls können vom Programm dort in eine Queue eingestellt werden, der Service verschickt sie nach und nach über eine Verbindung zum Server.

Wenn auch Anworten (synchron) nötig sind, geht das genau so. Die Antworten sammeln und die Clients entweder so lange über wait() blockieren oder über Listener benachrichtigen.


----------



## lucaro (29. Mai 2008)

gibt es solche CommunicationServices schon fertig?
Wenn ja, wo (habe nichts entsprechendes gefunden)?

thx

Lucaro


----------



## tuxedo (30. Mai 2008)

@lucaro:

das was FArt beschrieben hat, ist nix anderes wie das was ich geschrieben habe. Nur kommt das schicke Wort "CommunicartionService" drin vor. Im Prinzip ist es aber das gleiche.

Aber ich glaube mich zu erinnern dass das mit den multiplen Streams in einem Stream hier schonmal das Thema war. Ich such mal kurz.

- Alex


----------



## tuxedo (30. Mai 2008)

*gefunden*

http://www.java-forum.org/de/viewtopic.php?t=65362

Aber gelöst war das Problem glaub ich nicht. Immerhin ist in diesem Thread der Ansatz geklärt.


----------



## Guest (30. Mai 2008)

vielleicht hilft dir xSocket multiplexed (http://xsocket.sourceforge.net/documentation.htm) weiter

Uta


----------

