Messenger 无法从第一次尝试连接到 XMPP 服务器

Posted

技术标签:

【中文标题】Messenger 无法从第一次尝试连接到 XMPP 服务器【英文标题】:Messenger cannot connect to a XMPP server from the first attempt 【发布时间】:2015-08-25 07:32:31 【问题描述】:

我写了两个函数:

if let stream = xmppStream 
        if stream.isAuthenticated()
            println("Logged In")
         else 
            println("something is wrong")
        



func xmppStreamDidConnect(sender: XMPPStream) 
    println("xmppStreamDidConnect")
    isOpen = true
    var error: NSError?
    if (xmppStream!.authenticateWithPassword(password.text, error: &error) ) 
        println("authentification successful")
        performSegueWithIdentifier("goToBuddyList", sender: nil)
    

当我运行我的应用程序时,它会在终端中打印:

something is wrong
xmppStreamDidConnect
authentification successful

即使我输入了真实的凭据,它也会首先打印 [出现问题],然后再打印 [认证成功]。为什么会这样?

我想要提醒用户只是在 [something is wrong] 的情况下,而不是在 [successful] 的情况下,但它也会在成功的情况下提醒它。

【问题讨论】:

【参考方案1】:

实现XMPPStreamDelegatexmppStreamDidAuthenticatedidNotAuthenticate方法。

调用authenticateWithPassword之后,客户端认证肯定会在上面两个函数(xmppStreamDidAuthenticate和didNotAuthenticate)结束,直到stream.isAuthenticated()返回“0”。 p>

【讨论】:

以上是关于Messenger 无法从第一次尝试连接到 XMPP 服务器的主要内容,如果未能解决你的问题,请参考以下文章

使用 php 连接到 windows live messenger xmpp

Spark Job在第一次尝试时无法连接到oracle

尝试使用 amqp 连接到 azure 事件中心时出错

无法连接到avd

Azure 权限 - 天蓝色权限“无法连接到数据源”

无法从 PhpStorm 远程连接到 KINSTA 站点的 MySQL