在swift 3.0中使用XMPP openfire发送消息

时间:2017-01-17 10:15:35

标签: swift3 xmpp openfire sendmessage

我想使用xmpp向openFire发送消息一切正常,即使我可以收到消息。但是不能发送我不知道为什么?我试过这段代码:

@IBAction func SendMessageClicked(_ sender: AnyObject) {

       let message = messageTextField.text
        var clientJid: XMPPJID!
        clientJid = XMPPJID.init(string: "Bure@ip-772-99-99-99.ec3.internal")
        let senderJID = clientJid
          let msg = XMPPMessage(type: "chat", to: senderJID)
        msg?.addBody(message)
        stream?.send(msg)
}

因为它不会抛出任何错误但消息不会发送。 请帮助。

2 个答案:

答案 0 :(得分:0)

 let xMessage = XMPPMessage(type: "chat", to: XMPPJID(string: clientJid))
        xMessage.addBody(message)
        xMessage.addOriginId(stream.generateUUID)
        stream.send(xMessage)

答案 1 :(得分:0)

我遇到了同样的问题,而我刚刚发现了问题。在尝试发送消息之前,请确保已建立连接并完全完成了身份验证。为此,您可以使用以下XMPPStreamDelegate函数:

func xmppStreamDidConnect(_ stream: XMPPStream!) {
    //Connection is now established
}

func xmppStreamDidAuthenticate(_ sender: XMPPStream!) {
    //Athentication is done. Now you can send messages.
}
相关问题