基本上,我想在单独的线程中或与其他代码一起运行xmlrpc服务器,但是,在server.serve_forever()之后,无法让我的另一个代码在此函数之后运行。似乎server.serve_forever()永远在那儿运行。

self.LocalServer = SimpleThreadedXMLRPCServer(("localhost",10007))
self.LocalServer.register_function(getTextA) #just return a string
self.LocalServer.serve_forever()
print "I want to continue my code after this..."
.... another code after this should running together with the server

我尝试了多线程概念,但在这里仍然没有运气。
基本上,我想与我的其余代码一起运行xmlrpc服务器。

谢谢您的帮助。

最佳答案

您可以创建一个ServerThread类来封装您的XML-RPC服务器并在线程中运行它:

class ServerThread(threading.Thread):
    def __init__(self):
         threading.Thread.__init__(self)
         self.localServer = SimpleThreadedXMLRPCServer(("localhost",10007))
         self.localServer.register_function(getTextA) #just return a string

    def run(self):
         self.localServer.serve_forever()

您可以通过以下方式使用此类:
server = ServerThread()
server.start() # The server is now running
print "I want to continue my code after this..."

09-16 08:39