我是服务器托pipe的初学者,我想在我的iphone / android应用程序中实现一个多用户聊天室。 我发现xmpp是我需要实现的服务器,ejabberd可能是一个不错的select(因为它的可扩展性和可靠性)。
我发现了一篇由Cesare Rocchi撰写的文章,展示了如何启动一个ejabberd服务器进行testing(我注意到我的ejabberd版本是2.1.13,教程是2.1.8,但是仍然尝试),但是失败了。 笔者使用iChat和Adiumtesting启动后服务器是否工作正常。 我按照他的步骤设置域名为“本地主机”和pipe理员为“vivi @ localhost”。 在ejabberd的网页pipe理界面的访问控制列表中,添加一个名为“user @ localhost”的用户。 在Adium上,我用连接服务器“localhost”和端口号5222添加了一个xmpp用户“user @ localhost”。但是,我收到错误“Error:server closed the connection”。
我尝试input命令“netstat -an | grep LISTEN”来validation5222端口当前正在侦听。 当我停止ejabberd服务器时,Adium的状态更改为错误:无法连接。 它看起来像阻塞连接的东西。
我试了几天的解决scheme谷歌,但我找不到一个合适的解决scheme。 有没有人可以为这个问题提出可行的解决scheme?
有几点要你去尝试。 首先,确保你没有,或一个低分辨率的头像集。 有一个与Adium和ejabberd有关的一个杰出的bug 。 接下来,在debugging模式下启动Adium(在启动时按住Option),以便您可以获取日志输出,并查看Adium所说的内容。
检查连接的安全选项也是值得的,默认情况下,ejabberd将使用自签名证书,因此严格检查将会失败。 我也遇到了ejabberd的pubsubfunction问题,导致Adium客户端出现问题,最终导致无法使用它。 您可以通过在ejabberd.cfg注释( %% )pubsub的module指令来实现此目的。