使用xmppFramework连接到服务器时卡住

时间:2018-12-02 10:12:33

标签: swift ejabberd xmppframework

我从在iOS和本地ejabberd服务器(在“ localhost:5280”上运行)的xmppFramework开始。我使用“用户名:admin,密码:admin”登录了ejabberd服务器。

我正确检查了我的代码,并添加了代表“ XMPPStreamDelegate”。 我遇到的问题是我的代码调用了委托函数“ xmppStreamWillConnect”,但未调用“ xmppStreamDidConnect”。

通常,什么原因可能导致此问题?

我的代码:

func connect() {
    if !self.xmppStream.isDisconnected() {
        return
    }
    self.xmppStream.hostName = "localhost:5280"
    self.xmppStream.myJID = XMPPJID(string:"admin@localhost")
    try! self.xmppStream.connect(withTimeout: 10)
    if self.xmppStream.isConnected(){
        print(true)
    }
    self.xmppStream.startTLSPolicy = XMPPStreamStartTLSPolicy.required
    self.xmppStream.supportsStartTLS()
    print("ok")
}

func xmppStreamWillConnect(_ sender: XMPPStream!) {
    print("will connect ")
}
func xmppStreamDidConnect(_ stream: XMPPStream!) {
    print("Stream: Connected")
    try! stream.authenticate(withPassword: self.password)
}

打印结果为: 好 willConnect

1 个答案:

答案 0 :(得分:0)

如果您将localhost设置为主机,那将无法正常工作。 模拟器将在本地主机上运行,​​并且您不能在同一本地主机上同时运行。