sending executable data over network..

Larry Bates larry.bates at websafe.com`
Wed Jun 25 11:28:10 EDT 2008


Cédric Lucantis wrote:
> Le Tuesday 24 June 2008 08:59:40 Piyush Anonymous, vous avez écrit :
>> hi,
>> i wish to change the way the function definition at run time in a running
>> server. new function code which is to be executed is provided by a client
>> at different location.
>> i am getting it by reading a file and sending it using makefile() with
>> server/client connected using sockets.
>>
>> how can make the lines received in a string array as new function
>> definition? or should i receive it in a different way?
>>
>> is there any better way to do the entire thing?
> 
> One way is to transmit the code as a string and compile it on server-side with 
> the 'compile' builtin function. Another is to compile it on client-side and 
> transmit the resulting code object with the marshal module but there are many 
> restrictions on it (specially the fact that the client and server will have 
> to run the same python version) so carefully read the docs first. I'd choose 
> the first solution, eventually using the pickle module to avoid encoding 
> problems.
> 
You may want to take a look at Twisted Python Perspective Broker.  I believe it 
does what you are looking for.

-Larry



More information about the Python-list mailing list