我目前正在开发一个我正在使用XMPP框架构建的聊天客户端。我已经探索了演示应用程序,我注意到当我输入用户名/密码时,需要很长时间(大约15秒)来接收连接并验证回调。
为什么登录和验证需要这么长时间?是否有可能加快速度?例如,Whatsapp或iChat也在使用xmpp,速度非常快。
我在运行10.8和xCode 4.4的Mac上使用ejabberd作为XMPP服务器。
提前致谢!
答案 0 :(得分:1)
不确定您的情况,但有些客户在执行服务器域的DNS查找时会出现这种延迟。工作流程首先按照XMPP规范的预期搜索SRV记录。如果域没有SRV记录,则回退并尝试在预期的5222端口直接连接到域。但是首先尝试使用SRV然后回退的程序可能会消耗几秒钟 如果是这种情况,您可以将客户端配置为连接到服务器而不进行SRV查找,或者正确设置域的SRV记录。
答案 1 :(得分:1)
SRV查找会占用您面临问题的时间
通过设置[xmppStream setHostName: @"******"]
;
下面有更多解释
答案 2 :(得分:0)
跟进电子邮件主题我同意ppolv,DNS超时可能与此有关。您是否为您的域配置了SRV条目?他们是对的吗?如果您转储Psi和Trillian生成的流量,您是否看到它们之间的DNS请求存在差异?