使用Swift 3.0在XMPP Openfire中发送消息

4

我想使用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
 let xMessage = XMPPMessage(type: "chat", to: XMPPJID(string: clientJid))
        xMessage.addBody(message)
        xMessage.addOriginId(stream.generateUUID)
        stream.send(xMessage)

0

我曾经遇到过同样的问题,现在我找到了解决方法。在尝试发送消息之前,请确保连接已经建立并且身份验证已经完成。您可以使用这些XMPPStreamDelegate函数来实现:

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接