calling server side function

Gabriel Genellina gagsl-py2 at yahoo.com.ar
Wed Oct 28 03:59:30 EDT 2009


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




More information about the Python-list mailing list