Moin ^^
Ich wollte mal hier nachfragen ob sich hier jemand genauer mit den zwei Themen auskennt.
Ich möchte eine Client / Server Kommunikation aufbauen, jedoch habe ich keine Ahnung wie ich das ganze umsetzen soll.
1. Java RMI: Hier hat man die Möglichkeit die Funktionen des Servers anzusprechen (mit Parametern, Rückgabewerten usw) ...
`-> Nun möchte ich aber dass der Server auch die Möglichkeit hat Funktionen des Client aufzurufen (z.B.: wenn eine Aktualisierung auf Serverseite vorgenommen wurde möchte man dass alle Clients die Aktuellen Informationen empfangen ohne dass diese eine Anfrage an den Server stellen müssen, ob etwas aktualisiert worden ist).
Soweit ich das RMI-Thema verstanden habe, ist es nur möglich wenn der Client ebenfalls den RMI-Dienst startet.
2. Java Sockets: Hier kann ich eine TCP-Verbindung zwischen Server und Client aufbauen um diverse Informationen auszutauschen.
`-> Die Vorzüge von Java-RMI fallen hier weg.
Nun meine Frage:
Ist es empfehlenswert RMI-Dienst auf der Clientseite zu starten um quasi eine bidirektionale Verbindung herzustellen oder kann man mit Java-Sockets die Methodenaufrufe, auf beiden Seiten, auch ohne Java-RMI elegant lösen ?
Vielleicht noch ein kleines Beispiel zur Problemstellung:
Man möchte eine Lobby schreiben die eine Übersicht über erstellte Spiele bietet.
-> ein Spieler erstellt ein Spiel XY, alle die sich gerade in der Lobby befinden sehen sofort, dass ein Spiel mit dem Namen XY erstellt worden ist.
-> ein Spieler versendet eine Nachricht an einen anderen Spieler, dieser sieht es sofort.
Ich wollte mal hier nachfragen ob sich hier jemand genauer mit den zwei Themen auskennt.
Ich möchte eine Client / Server Kommunikation aufbauen, jedoch habe ich keine Ahnung wie ich das ganze umsetzen soll.
1. Java RMI: Hier hat man die Möglichkeit die Funktionen des Servers anzusprechen (mit Parametern, Rückgabewerten usw) ...
`-> Nun möchte ich aber dass der Server auch die Möglichkeit hat Funktionen des Client aufzurufen (z.B.: wenn eine Aktualisierung auf Serverseite vorgenommen wurde möchte man dass alle Clients die Aktuellen Informationen empfangen ohne dass diese eine Anfrage an den Server stellen müssen, ob etwas aktualisiert worden ist).
Soweit ich das RMI-Thema verstanden habe, ist es nur möglich wenn der Client ebenfalls den RMI-Dienst startet.
2. Java Sockets: Hier kann ich eine TCP-Verbindung zwischen Server und Client aufbauen um diverse Informationen auszutauschen.
`-> Die Vorzüge von Java-RMI fallen hier weg.
Nun meine Frage:
Ist es empfehlenswert RMI-Dienst auf der Clientseite zu starten um quasi eine bidirektionale Verbindung herzustellen oder kann man mit Java-Sockets die Methodenaufrufe, auf beiden Seiten, auch ohne Java-RMI elegant lösen ?
Vielleicht noch ein kleines Beispiel zur Problemstellung:
Man möchte eine Lobby schreiben die eine Übersicht über erstellte Spiele bietet.
-> ein Spieler erstellt ein Spiel XY, alle die sich gerade in der Lobby befinden sehen sofort, dass ein Spiel mit dem Namen XY erstellt worden ist.
-> ein Spieler versendet eine Nachricht an einen anderen Spieler, dieser sieht es sofort.
Zuletzt bearbeitet: