Lys*_*xia 6 python xmpp ejabberd multiuserchat
我正在尝试为我们的ejabberd集群编写一个快速的负载测试脚本,只需登录聊天室,发布几条随机消息,然后退出.
我们曾尝试使用tsung进行这一特定测试,但据作者称,muc功能并没有进入这个版本.
pyxmpp似乎有这个功能,但如果我能弄清楚如何使它工作,我会变得愚蠢.这里希望有人能快速解释如何构建客户端并加入/发布到muc.
谢谢!
小智 6
嘿我在尝试同样的事情时偶然发现了几次你的问题.这是我的答案:
使用http://pyxmpp.jajcus.net/svn/pyxmpp/trunk/examples/echobot.py作为快速入门,您所要做的就是导入MUC-Stuff
from pyxmpp.jabber.muc import MucRoomState, MucRoomManager
Run Code Online (Sandbox Code Playgroud)
一旦您的客户端连接,您就可以连接到您的房间:
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('room@conference.server.domain'),
nick='PartyBot',
handler=self.roomHandler,
history_maxchars=0,
password = None)
self.roomManager.set_handlers()
Run Code Online (Sandbox Code Playgroud)
要发送消息,您只需调用self.roomState.send_message("发送此消息")
要做的事情,继承MucRoomHandler并对事件做出反应.注意"set_handlers()"到roomManager,但这很重要,否则将不会调用回调.
| 归档时间: |
|
| 查看次数: |
3196 次 |
| 最近记录: |