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