[英]Python Multithreading XMLRPC server (?)
基本上我想在單獨的線程中運行我的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
我嘗試了多線程概念,但在這里仍然沒有運氣。 Basicaly我想和我的其余代碼一起運行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..."
我想和你做同樣的事情,這就是我做的事情。
server = SimpleXMLRPCServer(('127.0.0.1', 9000), logRequests=True, allow_none=True)
server.register_instance(ServerTrial())
server.register_introspection_functions()
server.register_multicall_functions()
server_thread = threading.Thread(target=server.serve_forever)
server_thread.start()
print'This will be printed'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.