[Python-checkins] python/dist/src/Doc/lib libsimplexmlrpc.tex, 1.7,
1.8
akuchling at users.sourceforge.net
akuchling at users.sourceforge.net
Wed Dec 1 19:34:13 CET 2004
Update of /cvsroot/python/python/dist/src/Doc/lib
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23533
Modified Files:
libsimplexmlrpc.tex
Log Message:
Make the example server code clearer; add the corresponding example client. [Bugfix candidate]
Index: libsimplexmlrpc.tex
===================================================================
RCS file: /cvsroot/python/python/dist/src/Doc/lib/libsimplexmlrpc.tex,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- libsimplexmlrpc.tex 8 Oct 2004 18:34:47 -0000 1.7
+++ libsimplexmlrpc.tex 1 Dec 2004 18:34:11 -0000 1.8
@@ -88,18 +88,49 @@
Example:
\begin{verbatim}
-class MyFuncs:
- def div(self, x, y) : return x // y
-
+from SimpleXMLRPCServer import SimpleXMLRPCServer
+# Create server
server = SimpleXMLRPCServer(("localhost", 8000))
-server.register_function(pow)
-server.register_function(lambda x,y: x+y, 'add')
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()
\end{verbatim}
+The following client code will call the methods made available by
+the preceding server:
+
+\begin{verbatim}
+import xmlrpclib
+
+s = xmlrpclib.Server('http://localhost:8000')
+print s.pow(2,3) # Returns 2**3 = 8
+print s.add(2,3) # Returns 5
+print s.div(5,2) # Returns 5//2 = 2
+
+# Print list of available methods
+print s.system.listMethods()
+\end{verbatim}
+
+
\subsection{CGIXMLRPCRequestHandler}
The \class{CGIXMLRPCRequestHandler} class can be used to
More information about the Python-checkins
mailing list