[Python-de] Re: RPC-Server

Diez B. Roggisch deets at web.de
Mon Nov 1 15:44:36 CET 2004


> Wenn Backupserver noch läuft, merke ich port, und der
> port wird nicht mehr vergeben. Ich habe 10 port für
> den zweck, das muss reichen.

Nicht wirklich zukunftstauglich... Aber wenn du das eh schon machst, dann 
allozier doch einfach eh immer nen neuen port.

> Ja, aber ich muss von der Serverseite einen wert an
> Client zurückliefern, sonst kräscht Client. Wenn ich
> ein fork offne und liefere aus Vaterprozess einen wert
> zuruck, dann wartet client nicht auf das Kind-prozess.

Verstehe ich nicht. Was hat das mit fork zu tun? Da gehts doch nur um eine 
andere Server-Instanz mit neuem Port.

>
> >Besser ist es, nur einen Server zu verwenden, der
>
> eine >authenticate-methode hat.
>
> Das hillft mir auch wenig, weil ich funktionen habe,
> die sehr viel zeit verbraushen.(Große archive
> zu/entpacken). Wenn eine funktion aufgerufen wird,
> warten alle clients so lange, bis sie zu Ende ist.

Auch dafuer gibts bessere Loesungen - entweder man nimmt zB twisted und laesst 
jede Anfrage in eineme eigenen Thread laufen - oder man startet im Server 
einen thread, liefert ein handle zurueck und der client pollt, wann die 
Anfrage fertig ist. Das ist zwar auch nicht superschoen, aber da xmlrpc keine 
callbacks kennt (wie zB CORBA) ist's insofern von Vorteil, als das der Client 
nicht blockiert.


Ich wuerde den Twisted-Weg gehen. Oder am besten ganz ouf xmlrpc verzichten - 
das ist zu primtiv.

Diez