【问题标题】:XMPP Server not connected with e-Jabberd - Always return "False"XMPP 服务器未与 e-Jabberd 连接 - 始终返回“False”
【发布时间】:2017-03-22 11:28:19
【问题描述】:

我正在使用 XMPP 框架并尝试连接服务器。我已经用 Adium 进行了测试。它连接良好,但无法使用代码。 它总是返回失败。有人可以指导我吗?

func connect()
    {
        let stream = XMPPStream()
        stream?.addDelegate(self, delegateQueue: DispatchQueue.main)

        stream?.hostName = "server.com"
        stream?.hostPort = 5222
        do
        {
            try stream?.connect(withTimeout: XMPPStreamTimeoutNone)
        }
        catch
        {
            if stream?.isConnected()==true
            {
                print("Success");
            }
            else
            {
                print("Failed");
            }
        }
    }

【问题讨论】:

  • 尝试通过 myJID 像这样的流添加?.myJID = XMPPJID.init(string: "XXXXXXXXXXX")

标签: ios swift xmpp xmppframework


【解决方案1】:

XMPPStream.connect异步 方法并立即返回。当然,它需要一些时间来连接,这就是为什么你不应该在connect 之后检查isConnected

您需要实现XMPPStreamDelegate 协议,当连接流时,它将“触发”xmppStreamDidConnect:“事件”,这是您可以继续连接逻辑的地方

【讨论】:

  • 谢谢。但我是新人。你能通过提供一些代码来帮助我更多吗?
猜你喜欢
  • 1970-01-01
  • 2011-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-14
  • 1970-01-01
相关资源
最近更新 更多