Re: sending executable data over network..

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • =?utf-8?q?C=C3=A9dric_Lucantis?=

    Re: sending executable data over network..

    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.

    --
    Cédric Lucantis
  • Larry Bates

    #2
    Re: sending executable data over network..

    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

    Comment

    Working...