首先可能是一个重复的问题,但由于好奇心,我问道。
我正在用快速语言的openfire开展XMPP项目。经过几次搜索,我成功注册了一个用户。现在,当我想向用户发送消息时,它会抛出错误404,找不到远程服务器。我不知道为什么会这样。
以下是我发送邮件的代码:
let sendToUser = strUserName + "@" + kAppDelegate.strJDomain
let body = XMLElement.element(withName: "body") as! XMLElement
body.stringValue = tv_Message.text!
let thread = XMLElement.element(withName: "thread", stringValue: "messageThread") as! XMLElement
let messageBody = XMLElement.element(withName: "message") as! XMLElement
messageBody.addAttribute(withName: "type", stringValue: "chat")
messageBody.addAttribute(withName: "to", stringValue: sendToUser)
messageBody.addChild(body)
messageBody.addChild(thread)
messageBody.addAttribute(withName: "id", stringValue: (kAppDelegate.xmppStream?.generateUUID())!)
kAppDelegate.xmppStream?.send(messageBody)
当我点击发送时,它会抛出一个错误:
SEND: <message type="chat" to="akhilesh@198.38.88.254"><body>Hello</body><thread id="3087B0E8-F926-426B-9B8F-15473F4404F2">messageThread</thread></message>
RECV: <message xmlns="jabber:client" to="gourav@vps.parkhya.org/411dv3ejcj" from="akhilesh@198.38.88.254" type="error"><thread>messageThread</thread><error code="404" type="cancel"><remote-server-not-found xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error></message>
我正在使用此端口号:5222
当我登录开火时,它正确地向我显示用户在线状态,当我尝试发送消息时,它不起作用。我使用了很少的参考但没有结果。除此之外,我已经设置了开火设置,激活了所有必需的插件。
答案 0 :(得分:2)
首先,您要为发件人和收件人发送两个不同的域名。你需要检查哪一个是正确的并设置它。
正确的一个将显示在openfire默认主页上,即服务器信息中。你可以从那里进行修正。毕竟,你没有得到这些错误。