我正在计划一个XMPP僵尸程序系统,其中僵尸程序在后台“附加”到Rails应用程序以接收命令等等。是否适合为所有应用程序(40+)使用相同的帐户,只是更改了资源部分,如下所示:
account@host/bot1
account@host/bot2
account@host/bot2
或使用完全不同的JID,例如:
account1@host
account2@host
account3@host
优点/缺点?感谢您的任何反馈!
答案 0 :(得分:2)
我自己仍然在研究这个问题,但我发现将机器人实现为与同一个裸JID相关的资源有一些特点:
XMPP服务器可以将发往一个资源的Message节(但不是IQ或Presence节)路由到另一个资源,如果传递失败则该资源共享相同的JID
Jabber会话管理器组件似乎在裸JID级别维护名册信息,因此所有机器人将共享XMPP
答案 1 :(得分:1)
您希望使用唯一的JID,而不是重复使用相同的JID并更改资源。正如Mitch所描述的那样,有时数据包将转到裸JID,有时是完整的JID。如果您已经在编写机器人军队,请制作一个设置脚本并注册唯一的名称,以便为陆军创建帐户。它会测试该组件作为奖励。
如果您只是更改资源名称,您将在90%的测试中疯狂。