Server an mehrere Clients

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hi!

Ich weiß nicht, wie man eine Nachricht an mehrere Clients gleichzeitig schickt.

Kann mir das jemand schildern?

mfg. Martin
 
z.b. durch gruppenkommunikation mit totally ordered multicast ...

sry aber so knapp wie die frage formuliert is, kann man sie nich beantworten. präzisiere!
 
Oh, sorry, ist echt verdammt kurz.

Also ich hab einen Server gebastelt. Dieser sollte an alle Clients eine Nachricht schicken.
Jetzt wolllte ich fragen, obs nicht irgendeine Methode gibt, mit der man alle Sockets gleichzeitig ansprechen kann.
Ich kann ja mit "ObjectOutputStream(socket.getOutputStream())" immer nur einen Socket und somit nur einen Client ansprechen.

Gibts da eine Möglichkeit?
 
multithreaded pro client eine connection und ein socket - also unicast, aber das is bei vielen clients nich sehr performant ... mehr fällt mir auch nich ein.
 
wie viele Clients sind das denn?
wenns nur 2 oder so sind kannste ja wenn de es einfach haben willst einfach 2 Sockets nehmen
 
Das versteh ich ehrlich gesagt nicht.

Das Problem liegt daran, dass ich immer nur einen Stream gleichzeitig von Server zu Client offen habe und somit immer nur immer an einen Client Daten schicken kann.
 
habs doch oben schon geschrieben. schau dir mal threads an. idr implementiert man server so, dass wenn ein client zum server connectet, der server einen neuen thread aufmacht bevor die connection mit socket, stream etc aufgemacht wird. sonst könnte ja nur ein client gleichzeitig mit dem server connecten.


Das Problem liegt daran, dass ich immer nur einen Stream gleichzeitig von Server zu Client offen habe und somit immer nur immer an einen Client Daten schicken kann.

so gehts halt nich.
 
Jop ich versteh dich. Ich habs sogar schon vorher mit Threads gemacht. Immer wenn ein neuer Server sich anmeldet, wird ein Socket geöffnet und ein Thread aufgemacht, sodass sich mehrere Clients gleichzeitig anmelden können.
Mehrere Clients können so gleichzeitig Daten zum Server schicken, der Server kann aber trotzdem immer nur Daten an einen Client senden.
Ist auch egal, ich habs mit einem MulticastSocket gelöst.
Kann mir noch wer erklären, wie ich einen ObjectInput bzw. ObjectOutputStream mit MulticastSocket verwende :?:
Dann hätt ichs endlich geschafft.
 
Ich würd nur gerne ganz konkret wissen, wie man Ein-und Ausgabeströme für beliebige Objekte mit MultiCastSockets realisiert.
Bitte![/quote]
 
nee das geht nicht, du kannst nur DatagramPackets verschicken. um besten du lässt auch den objectstream quark, das kann sehr schnell in die hose gehen.
du könntest dir alternativ eine art software-multicast-server bauen, indem du einfach eine klasse bereit stellst, der du mehrere sockets/outputstreams übergeben kannst und dann mit einer methode an alle outputstreams das gleiche rausschreibst.
 
Kleine Anmerkung zur Multicast Kommunikation:

Router haben das Blocken sämtlichen Multicast Verkehrs als default Einstellung.

Wenn also einer Deiner Clients außerhalb des Netzsegmentes Deines
Servers liegt bekommt er normalerweise keine Daten per Mulitcast, es sei denn
der Multicast Adresse die Du nutzt wird auf dem Router freigeschaltet.
 
Okay danke ich werds probieren.

Multicasts sind also totaler schrott...
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben