# Verschiedene Daten über einen Stream



## pappenpeter (27. Jun 2005)

Im Vorbereitung eines neuen Projektes das ich in nächster Zeit vor habe stelle ich mir folgende Frage:

Ich möchte eine Client Server Software schreiben. 

Dabei soll auf jedem Rechner im Lan die Software laufen. Wenn die Software gestartet ist soll sowohl Server als auch ein Client auf der jeweiligen Maschiene gestartet werden. Es soll also keine Zentralen Server im LAN geben sondern jeder Rechner soll ein Server und gleichzeitig ein Client sein. Ist es richtig das ich dann einen Server und eine Client Socket öffnen muß?

Der Server Socket soll dazu dienen anderen LAN Cliente auskünfte über vorhandene Dateien zu geben und diese bei bedarf zu übertragen.

Der Clientsocket soll zum Verbinden mit anderen Rechnern und durchforsten der Dateien da sein.


2. Ich möchte wenn möglich nur 1 oder 2 Ports nutzen. Gleichzeit soll man aner auch z.B: eine Datei übertragen und chatten können. Nun frage ich mich wie ich über einen Stream feststelle ob das aktuelle Packet ein Teil der Datei ist oder zum Chat gehört. Irgendwelche Lösungsvorschläge?


----------



## Bleiglanz (28. Jun 2005)

http://www.jgroups.org/javagroupsnew/docs/index.html


----------



## Nick H. (28. Jun 2005)

also ich würde Vorschlagen ein bestimmtes erkennungzeichen davor zu setzen

wie Http Codes zb

einfach entweder eine Raute für Chat oder einen Stern für Dateien
oder so

mach ich auch immer so...


----------



## pappenpeter (28. Jun 2005)

Hmm, ja, diese Überlegung habe ich auch schon an gestellt. 

Dachte aber anstelle von * oder # eher an IDs die dann gewissen Teilen einer Anwendung dynamisch zugewiesen werden.

So könnte man mehrere chat Fenster öffnen und jedes würde eine eigene ID bekommen..



Wie stellst du dann fest welches Zeichen an Anfang steht? Lässt du dir das empfange Packet geben und ließt dann das erste zeichen aus??


----------



## Nick H. (28. Jun 2005)

also ich les einfach die ersten paar bytes aus (so viele wie die beiden Zeichen haben)

sie müssn natürlich gleich viele haben
sonst häng ich halt irgendwas dazwischen

+ und # sollte auch nur ein Beispiel sein
ich nehm meißtens zahlen


----------

