Hi, after playing with reactor, factory and protocol, I'm trying to implement XML-RPC server, but it seems that it is not able to handle several clients in parallel. If I call the slow function with first client and then with second client a fast function, second client will receiver the results after slow function returned. There is no factory for clients in server.Site() like in Protokoll? What is the way to do that for XML-RPC?
Thanks for your help! Pet from twisted.web import xmlrpc, server from twisted.application import internet from time import sleep PORT = 11111 class ExampleXMLRPCProtokoll(xmlrpc.XMLRPC): """An example object to be published.""" def xmlrpc_echo(self, x): """ Return all passed args. """ return x def xmlrpc_add(self, a, b): """ Return sum of arguments. """ return a + b def xmlrpc_addslow(self, a, b): """ Return sum of arguments. takes time """ sleep(20) return a + b def xmlrpc_fault(self): """ Raise a Fault indicating that the procedure should not be used. """ raise xmlrpc.Fault(123, "The fault procedure is faulty.") class ExampleXMLRPCService(internet.TCPServer): def __init__(self): print "Starting XML-RPC Service..." r = ExampleXMLRPCProtokoll() internet.TCPServer.__init__(self,PORT,server.Site(r)) def main(): from twisted.internet import reactor r = ExampleXMLRPCProtokoll() reactor.listenTCP(PORT, server.Site(r)) reactor.run() if __name__ == '__main__': main() _______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python