[英]Python xmpp jabber client in tornado web application
我是桌面程序員,但是我想學習一些有關Web服務的知識。 我決定使用python。 我正在嘗試了解Web應用程序的工作方式。 我知道如何創建基本的龍卷風網站(請求-響應)和工作的jabber客戶端,但是我不知道如何混合它們。 我可以在Web服務中使用任何python組件嗎? 它們是否必須具有特定的結構(sync或async)? 因為我陷入了循環處理程序中:
如果龍卷風通過命令啟動網絡服務:
app = Application()
app.listen(options.port)
tornado.ioloop.IOLoop.instance().start()
...那么如何(在哪里)開始xmpp循環?
client.connect()
client.run()
我認為龍卷風監聽循環應該處理xmpp監聽,但不知道如何
問候。
編輯:我忘了。 我正在使用pyxmpp2
也許WebSocketHandler和Thread會為您提供幫助。
演示版
class BotThread(threading.Thread): def __init__(self,my_jid,settings,on_message): super(BotThread,self).__init__() #EchoBot is pyxmpp2's Client self.bot = EchoBot(my_jid, settings,on_message= on_message) def run(self): self.bot.run() class ChatSocketHandler(tornado.websocket.WebSocketHandler): def open(self): #init xmpp client my_jid = settings = bot =BotThread(my_jid, settings,on_message=self.on_message) bot.start()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.