SimpleXMLRPCServer

M

Maxim Khesin

Hi,
the typical usage of SimpleXMLRPCServer registers some
class with the server instance and then jumps into a
serve-forever loop, e.g.

server = SimpleXMLRPCServer(('', 8000))
server.register_instance(MyClass())
server.serve_forever()

is there a way to process actions other than XML-RPC
requests using SimpleXMLRPCServer? Is is possible to do
something like

server = SimpleXMLRPCServer(('', 8000))
server.register_instance(MyClass())
while(1)
if(checkSomeCondidion()):
server.serve_once()
else: server.stop()

thanks,
max
 
S

Skip Montanaro

Maxim> is there a way to process actions other than XML-RPC requests
Maxim> using SimpleXMLRPCServer? Is is possible to do something like

Maxim> server = SimpleXMLRPCServer(('', 8000))
Maxim> server.register_instance(MyClass())
Maxim> while(1)
Maxim> if(checkSomeCondidion()):
Maxim> server.serve_once()
Maxim> else: server.stop()

You should be able to override the serve_forever() method.

Skip
 
B

Bernhard Mulder

Here is an example of a server which runs as long as self.running
is set:

class SimpleXMLRPCServer_with_stop(SimpleXMLRPCServer.SimpleXMLRPCServer):

def __init__(self, *args, **kwds):
self.running = True
SimpleXMLRPCServer.SimpleXMLRPCServer.__init__(self, *args, **kwds)

def serve_while_running_is_set(self):
"""Server while running is set."""
while self.running:
self.handle_request()
 
M

Maxim Khesin

Bernhard said:
Here is an example of a server which runs as long as self.running
is set:

class SimpleXMLRPCServer_with_stop(SimpleXMLRPCServer.SimpleXMLRPCServer):

def __init__(self, *args, **kwds):
self.running = True
SimpleXMLRPCServer.SimpleXMLRPCServer.__init__(self, *args, **kwds)

def serve_while_running_is_set(self):
"""Server while running is set."""
while self.running:
self.handle_request()


So putting it in my original terms this would be:

server = SimpleXMLRPCServer(('', 8000))
server.register_instance(MyClass())
while(1)
if(checkSomeCondidion()):
server.handle_request()
else: server.stop()

?
thanks.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,756
Messages
2,569,534
Members
45,007
Latest member
OrderFitnessKetoCapsules

Latest Threads

Top