Skip Montanaro wrote:
> ted> I don't see what "lambda" is or how a lambda function is supposed > ted> to be construed as adding two numbers together. > > Lambda is a keyword in Python used to create and return very simple > (single-expression) functions. Lambda expressions can be used anywhere > you'd normally use a function object. See: > > http://www.python.org/doc/current/ref/lambdas.html > > The line containing the lambda expression: > > server.register_function(lambda x,y: x+y, 'add') > > could be recast as: > > def add(x, y): > return x+y > > server.register_function(add, 'add') That's a whole lot easier to digest. I'd have assumed lambda was some sort of stat function... > The server listens to "localhost" on port 8888. To allow it to listen for > external connections change "localhost" to the name or IP address of the > server. Before you do that make sure you understand the ramifications of > exposing your XML-RPC server to a broader class of potential clients, some > of which are bound to be malicious. > > Skip Many thanks, that's the part I was missing in the case of standalone servers. The only other real question is what about the cgi servers? I'd assume I'd take the example given: class MyFuncs: def div(self, x, y) : return div(x,y) handler = CGIXMLRPCRequestHandler() handler.register_function(pow) handler.register_function(lambda x,y: x+y, 'add') handler.register_introspection_functions() handler.register_instance(MyFuncs()) handler.handle_request() Stuff that into a file in the cgi-bin dir on the server, and then try to use something like: server = xmlrpclib.Server("http://192.168.1.102/testserver.py") or server = xmlrpclib.Server("http://192.168.1.102/cgi-bin/testserver.py") That still hasn't worked, so far at least. -- http://mail.python.org/mailman/listinfo/python-list