Seite 1 von 1

RPC Konstruktor Aufruf mit Rückgabewert

Verfasst: Freitag 15. August 2014, 01:45
von Hazzard
Hallo,

Ich habe eher eine API Design Frage, als eine Frage zur Netzwerkprogrammierung. Ich schreibe gerade ein RPC System.

Code: Alles auswählen

obj = RemoteObject.Class()
result = obj.method()
Bei Class() wird serverseitig ein Objekt der Klasse konstruiert und eine Referenz dem Client übergeben. Der Client ruf dann die Methode method() auf dem Server auf. Da das ganze über Netzwerk stattfinden, können die Aufrufe aufgrund der roundtrip time schonmal eine Zeit dauern.
Daher hab ich mir gedacht, dass ich beim Konstruktoraufruf gleich einen Wert mit zurückgeben kann um statt 2 Server-Client Kommunikationen nur 1 zu haben.
Ich habe dabei an etwas wie

Code: Alles auswählen

obj = RemoteObject.Class()
result = obj.GetConstructorResult()
gedacht, wobei GetConstructorResult() eine lokale Methode ist, die nur den vorher schon übertragenen Wert zurückgibt.

Gibts da vielleicht eine Möglichkeit das schöner zu lösen? Ich hätte ungerne "Spezialfunktionen" auf "obj", also solche die sich anders verhalten wie normale RP Calls.

Viele Grüße, Hazzard

Re: RPC Konstruktor Aufruf mit Rückgabewert

Verfasst: Freitag 15. August 2014, 12:24
von Sirius3
@Hazzard: Du mußt Dich halt fragen, ob sich der Aufwand einer Sonderbehandlung gegenüber dem Einsparen von ein paar Millisekunden lohnt. Dass das dann Spezialfunktionen sind, läßt sich ja nicht vermeiden.