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



我想使用 xmpp 发送消息以打开Fire,即使我可以接收消息,一切也完美无缺。 但是无法发送我不知道为什么? 我尝试了以下代码:

@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)
}

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

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

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

func xmppStreamDidConnect(_ stream: XMPPStream!) {
    //Connection is now established
}
func xmppStreamDidAuthenticate(_ sender: XMPPStream!) {
    //Athentication is done. Now you can send messages.
}

最新更新