机器人军队的JID命名策略?

时间:2009-08-19 17:18:09

标签: ruby-on-rails xmpp

我正在计划一个XMPP僵尸程序系统,其中僵尸程序在后台“附加”到Rails应用程序以接收命令等等。是否适合为所有应用程序(40+)使用相同的帐户,只是更改了资源部分,如下所示:

account@host/bot1
account@host/bot2
account@host/bot2

或使用完全不同的JID,例如:

account1@host
account2@host
account3@host

优点/缺点?感谢您的任何反馈!

2 个答案:

答案 0 :(得分:2)

我自己仍然在研究这个问题,但我发现将机器人实现为与同一个裸JID相关的资源有一些特点:

  • XMPP服务器可以将发往一个资源的Message节(但不是IQ或Presence节)路由到另一个资源,如果传递失败则该资源共享相同的JID

  • Jabber会话管理器组件似乎在裸JID级别维护名册信息,因此所有机器人将共享XMPP

答案 1 :(得分:1)

您希望使用唯一的JID,而不是重复使用相同的JID并更改资源。正如Mitch所描述的那样,有时数据包将转到裸JID,有时是完整的JID。如果您已经在编写机器人军队,请制作一个设置脚本并注册唯一的名称,以便为陆军创建帐户。它会测试该组件作为奖励。

如果您只是更改资源名称,您将在90%的测试中疯狂。