calling server side function

Tim Arnold tim.arnold at sas.com
Wed Oct 28 12:34:20 EDT 2009


"Gabriel Genellina" <gagsl-py2 at yahoo.com.ar> wrote in message 
news:mailman.2155.1256716617.2807.python-list at python.org...
> En Wed, 28 Oct 2009 04:04:50 -0300, Paul Hartley <luapyeltrah at hotmail.com> 
> escribió:
>
>> I have a socket set up between a client and server program.  Let's say 
>> that I serialize (pickle) some data in the client and send it to the 
>> server with the intention of calling a function in the server to process 
>> the data.  How would one execute the function?  This is not for a 
>> web-based application, BTW -- it's a desktop based application
>> My current thought process is (using a generalized example):
>> I have a list of numbers in the client and want to find the length of 
>> the list using the server.  There exists a function find_len() in the 
>> server code.  I have a list of numbers [1,2,3].  On the client side, I 
>> create the tuple ("find_len", [1,2,3]), and serialize it.  I pass this 
>> serialized object via a socket to the server, which unpickles it.  The 
>> server takes the key (find_len) and uses a getattr call to get the 
>> find_len function.  The server then calls find_len([1,2,3]) to get the 
>> sum.
>> def find_len(list_):    return
>> Are there better ways of accomplishing this (I'm aware that there are 
>> security pitfalls here...)
>
> xmlrpc does more or less the same thing, but serializing in xml instead of 
> pickling.
>
> -- 
> Gabriel Genellina
>

Also, have a look at RPyc. I've been playing with it for a few days and it 
sounds it may be what you're after.
http://rpyc.wikidot.com/
http://www.ibm.com/developerworks/linux/library/l-rpyc/index.html

--Tim Arnold





More information about the Python-list mailing list