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