| @@ -0,0 +1,33 @@ | |||
| #!/usr/bin/env python2 | |||
| from xmlrpc.server import SimpleXMLRPCServer | |||
| # Restrict to a particular path. | |||
| class RequestHandler(SimpleXMLRPCRequestHandler): | |||
| rpc_paths = ('/RPC2',) | |||
| # Create server | |||
| server = SimpleXMLRPCServer(("localhost", 8000), | |||
| requestHandler=RequestHandler) | |||
| server.register_introspection_functions() | |||
| # Register pow() function; this will use the value of | |||
| # pow.__name__ as the name, which is just 'pow'. | |||
| server.register_function(pow) | |||
| # Register a function under a different name | |||
| def adder_function(x,y): | |||
| return x + y | |||
| server.register_function(adder_function, 'add') | |||
| # Register an instance; all the methods of the instance are | |||
| # published as XML-RPC methods (in this case, just 'div'). | |||
| class MyFuncs: | |||
| def div(self, x, y): | |||
| return x // y | |||
| server.register_instance(MyFuncs()) | |||
| # Run the server's main loop | |||
| server.serve_forever() | |||