Hallo.
Ich bin grad dabei einen Multiuser-Editor zu basteln. Die Editorfunktionen usw. (mit RCP) habe ich fertig. Funktioniert auch alles... Jetzt gehts an die Netzwerkkommunikation von der ich leider ziemlich wenig Ahnung habe. Hab mich schonmal ein wenig umgeschaut und mir bleiben noch ein paar fragen...
Im Programm gibt es die Schaltfläche "hosten" und "verbinden". Wenn der User Hosten betätigt wird ein server im programm gestartet. Die anderen Clients können sich dann nach Eingabe von IP und Port zu dem Server verbinden (Schaltfläche "verbinden")... Im Programm habe ich dann einen Tree wo alle angemeldeten User angezeigt werden. Die Nachrichten sollen dann immer von einem User an alle verschickt werden. Also es findet keine "geschlossene" Kommunikation unter einzelnen Usern statt...
Könntet ihr mir bitte helfen wie ich das umsetzen kann... Weiß nicht so wirklich wie.. Hatte jetzt soweit gedacht, dass der Server beim Hosten in einem Thread gestartet wird. Das habe ich auch hinbekommen, allerdings weiß ich jetzt nicht genau wie ich das mit dem Tree und dem Nachrichtenaustausch anstellen soll...
welche übertragungsweise (Sockets/DatagramPackets) wäre denn besser? Kann ich über beide komplette Klassen übertragen? Ich will eine Klasse "Änderung" mit den Eigenschaften Farbe, Punkt, Zeichen ebenfalls von einem an alle Clients verschicken. Genauso dann auch die Klasse Benutzer mit den Eigenschaften Name und Farbe...
Nochmal zusammengefasst:
Button Hosten --> Server wird gestartet (server.start()).
Button Verbinden --> Client wird gestartet und bleibt dauerhaft in Verbindung (client.start())
Button Verbindung trennen --> Client trennt sich vom Server (client.stop()).
Ist das soweit in Ordnung? Oder verbindet sich der Client immer nur mit dem Server wenn ich auf den Button senden klicke?
Button Senden --> Nachricht soll gesendet werden... Aber wie?!?! Ich weiß wie ich einen Server ansich aufsetze mit Port usw... Auch wie ein Client eine Verbindung dazu herstellt. Aber ich habe keine Ahnung wie ich eine Nachricht dann zum Server verschicke und der diese dann an den Rest verteilt.
Wär klasse wenn ihr mir helfen könnt
Ich bin grad dabei einen Multiuser-Editor zu basteln. Die Editorfunktionen usw. (mit RCP) habe ich fertig. Funktioniert auch alles... Jetzt gehts an die Netzwerkkommunikation von der ich leider ziemlich wenig Ahnung habe. Hab mich schonmal ein wenig umgeschaut und mir bleiben noch ein paar fragen...
Im Programm gibt es die Schaltfläche "hosten" und "verbinden". Wenn der User Hosten betätigt wird ein server im programm gestartet. Die anderen Clients können sich dann nach Eingabe von IP und Port zu dem Server verbinden (Schaltfläche "verbinden")... Im Programm habe ich dann einen Tree wo alle angemeldeten User angezeigt werden. Die Nachrichten sollen dann immer von einem User an alle verschickt werden. Also es findet keine "geschlossene" Kommunikation unter einzelnen Usern statt...
Könntet ihr mir bitte helfen wie ich das umsetzen kann... Weiß nicht so wirklich wie.. Hatte jetzt soweit gedacht, dass der Server beim Hosten in einem Thread gestartet wird. Das habe ich auch hinbekommen, allerdings weiß ich jetzt nicht genau wie ich das mit dem Tree und dem Nachrichtenaustausch anstellen soll...
welche übertragungsweise (Sockets/DatagramPackets) wäre denn besser? Kann ich über beide komplette Klassen übertragen? Ich will eine Klasse "Änderung" mit den Eigenschaften Farbe, Punkt, Zeichen ebenfalls von einem an alle Clients verschicken. Genauso dann auch die Klasse Benutzer mit den Eigenschaften Name und Farbe...
Nochmal zusammengefasst:
Button Hosten --> Server wird gestartet (server.start()).
Button Verbinden --> Client wird gestartet und bleibt dauerhaft in Verbindung (client.start())
Button Verbindung trennen --> Client trennt sich vom Server (client.stop()).
Ist das soweit in Ordnung? Oder verbindet sich der Client immer nur mit dem Server wenn ich auf den Button senden klicke?
Button Senden --> Nachricht soll gesendet werden... Aber wie?!?! Ich weiß wie ich einen Server ansich aufsetze mit Port usw... Auch wie ein Client eine Verbindung dazu herstellt. Aber ich habe keine Ahnung wie ich eine Nachricht dann zum Server verschicke und der diese dann an den Rest verteilt.
Wär klasse wenn ihr mir helfen könnt
Zuletzt bearbeitet: