为啥在使用 XMPP 时多次发送聊天时会出现“服务不可用”?
Posted
技术标签:
【中文标题】为啥在使用 XMPP 时多次发送聊天时会出现“服务不可用”?【英文标题】:Why do I get 'service unavailable' with multiple chat sends when using XMPP?为什么在使用 XMPP 时多次发送聊天时会出现“服务不可用”? 【发布时间】:2009-08-24 17:29:05 【问题描述】:我用 Python 和 C# 制作了一个简单的 IM 客户端,分别使用了几个不同的 XMPP 库。
它们作为简单的自动回复或微不足道的机器人工作得很好,但是当我将它们变成聊天室时(即,一条消息被反映到许多其他 JID),我突然开始从 Google 谈话服务器收到 503 服务不可用响应.
我应该从哪里着手解决这个问题?鉴于我使用了多种语言和库,我认为这不是我的特定设置的问题。我正在使用库提供的各种示例。
【问题讨论】:
【参考方案1】:您的公鸡中是否有所有您尝试向其发送消息的人? 否则 GTalk 将不允许发送消息,而是返回错误 503。
有一个 pidgin 错误跟踪器描述了类似的问题: Pidgin #4236
如果您确定公鸡中有所有 JID,您还应该检查并行发送的消息数量。谷歌将限制单条消息的数量 允许JID在指定时间段内发送。
【讨论】:
【参考方案2】:如果您想创建真正的聊天室,何不让 jabber 服务器来托管这些聊天室(遵循http://xmpp.org/extensions/xep-0045.html - ejabberd 将这些作为默认设置,并且大多数 jabber 服务器都有插件来实现它们),然后让您的机器人加入那个房间(大多数客户支持这一点 - 不幸的是,Google Talk 不支持)?
【讨论】:
以上是关于为啥在使用 XMPP 时多次发送聊天时会出现“服务不可用”?的主要内容,如果未能解决你的问题,请参考以下文章