6
我正在嘗試爲我們的ejabberd集羣編寫一個快速加載測試腳本,它只需登錄聊天室,發佈幾條隨機消息,然後退出。pyxmpp:創建muc客戶端的快速教程?
我們曾嘗試過使用tsung進行此特定測試,但根據作者的說法,muc功能並未將其納入此版本。
pyxmpp似乎有這個功能,但是如果我能弄清楚如何使它工作,就會受到傷害。希望有人能夠快速解釋如何構建客戶端並加入/發佈到muc。
謝謝!
我正在嘗試爲我們的ejabberd集羣編寫一個快速加載測試腳本,它只需登錄聊天室,發佈幾條隨機消息,然後退出。pyxmpp:創建muc客戶端的快速教程?
我們曾嘗試過使用tsung進行此特定測試,但根據作者的說法,muc功能並未將其納入此版本。
pyxmpp似乎有這個功能,但是如果我能弄清楚如何使它工作,就會受到傷害。希望有人能夠快速解釋如何構建客戶端並加入/發佈到muc。
謝謝!
嘿我偶然發現你的問題幾次,同時嘗試同樣的事情。 這裏是我的回答:
使用http://pyxmpp.jajcus.net/svn/pyxmpp/trunk/examples/echobot.py作爲快速啓動,所有你需要做的就是導入MUC-東西
from pyxmpp.jabber.muc import MucRoomState, MucRoomManager
而且一旦你的客戶端連接,您可以連接到你的房間:
def session_started(self):
"""Handle session started event. May be overriden in derived classes.
This one requests the user's roster and sends the initial presence."""
print u'SESSION STARTED'
self.request_roster()
p=Presence()
self.stream.send(p)
print u'ConnectToParty'
self.connectToMUC()
def connectToMUC(self):
self.roomManager = MucRoomManager(self.stream);
self.roomHandler = MucRoomHandler()
self.roomState = self.roomManager.join(
room=JID('[email protected]'),
nick='PartyBot',
handler=self.roomHandler,
history_maxchars=0,
password = None)
self.roomManager.set_handlers()
要發送信息,你所要做的就是調用self.roomState.send_message(「發送消息」)
做的東西,繼承MucRoomHandler對事件做出反應。注意到roomManager的「set_handlers()」,但這很重要,否則回調將不會被調用。
這就是門票!謝謝! – Lysdexia 2010-07-27 16:28:15