Autor Beitrag
Ares
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 128



BeitragVerfasst: Mo 19.01.09 14:07 
Hallo!

Ich habe leider nach wie vor große Probleme beim Verständnis von Remoting und hoffe daher noch einmal auf eure Hilfe und Tipps.

Was möchte ich erreichen:
Ein Programm A (Server) soll Daten verwalten und bereitstellen. Diese Daten sollen von einem anderen Programm B (Client) abgefragt und verändert werden können. Der Client soll im Server gewisse Aktionen ausführen, diesen also quasi fernsteuern können.

Was macht Remoting (wie ich es verstanden habe):
Durch Remoting kann der Server ein Objekt bereitstellen, so dass dieses Objekt vom Client instanziiert und genutzt werden kann. Aus Client-Sicht ist das Ganze absolut transparent, er denke also er würde das Remoting-Objekt direkt erstellen und nutzen. Das Remoting-Objekt wird aber im Server erstellt und alle Anfragen vom Client werden durch den Remoting-Kanal an das Objekt umgeleitet.

Was ich nicht verstehe:
Eine Grundlage der OO ist es ja, dass ein Objekt nur solche anderen Objekte kennt, die es selbst direkt oder indirekt erstellt hat. Ein Remoting Objekt wird zwar im Server erstellt, die Initiative zur Erstellung geht aber vom Client aus. Das Remoting Objekt wird also von einem Client Objekt und nicht von einem Server Objekt erstellt. Folglich kann das Remoting Objekt kein anderes Objekt des Servers kennen und wird auch von keinem anderen Server Objekt gekannt. Das Remoting Objekt ist also vollkommen gelöst vom Rest des Servers und kann mit anderen Teilen/Objekten des Servers nicht in Kontakt treten.

Sehe ich das richtig?

Wenn ja, was ist dann überhaupt Sinn und Zweck von Remoting? Schön, man kann auf ein Objekt in einem anderen Prozess zugreifen, aber da das Objekt nichts von seiner Umgebung weiß kann man damit nichts kontrollieren, fernsteuern, etc.

Wenn nein, wo ist dann mein Denkfehler und wie bekommt das Remoting Objekt Kontakt zu seiner (Server-)Umgebung?


Trotz intensiver Suche habe ich leider noch keine Antwort hierauf finden können. Ich würde mich wirklich sehr freuen, wenn mir jemand dabei helfen könnten Licht ins Dunkel zu bringen.

Herzlichen Dank
Ares
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mo 19.01.09 18:37 
Ja, so sollte das stimmen :) . Der Client _hat_ zwar ein Objekt, dieses macht aber nichts anderes, als mit dem Objekt auf dem Server zu kommunizieren. Und mit deiner Schlussfrage hast du den Nagel auf den Kopf getroffen, denn darüber sind wir uns hier auch noch nicht so sicher ;) .

_________________
>λ=
proggy
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Mi 28.01.09 13:24 
Titel: zur Netzwerkspieleprogrammierung
Hallo,

könnte es vielleicht sein, daß man damit simple Netzwerkspiele (z.B. einfache Brettspiele wie Schach) proggen kann. Ein Server kann doch beim Remoting auch gleichzeitig ein Client sein oder? Dann sollte so etwas doch machbar sein oder hab ich da jetzt einen Denkfehler??