我在openfire中通过安装open fire插件从openfire获取了History并尝试了这段代码.
let iq1 = DDXMLElement(name: "iq")
iq1.addAttribute(withName: "type", stringValue: "get")
iq1.addAttribute(withName: "id", stringValue: "0")
let retrieve = DDXMLElement(name: "retrieve", xmlns: "urn:xmpp:archive")
retrieve?.addAttribute(withName: "with", stringValue: "raman@ip-172-31-53-77.ec2.internal")
let set = DDXMLElement(name: "set", xmlns: "http://jabber.org/protocol/rsm")
let max = DDXMLElement(name: "max", stringValue: "50")
iq1.addChild(retrieve!)
retrieve?.addChild(set!)
set?.addChild(max)
stream?.send(iq1 )
Run Code Online (Sandbox Code Playgroud)
现在我没有从双方获得历史.这是我得到的结果.
<iq xmlns="jabber:client"
type="result"
id="0"
to="bentick@ip-172-31-53-77.ec2.internal/5qsinh1syg">
<chat xmlns="urn:xmpp:archive"
with="raman@ip-172-31-53-77.ec2.internal"
start="2017-02-07T06:28:33.691Z">
<from secs="0">
<body>hello</body>
</from>
<from secs="405">
<body>hiii</body>
</from>
<from secs="580">
<body>Hey</body>
</from>
<from secs="599">
<body>HooooE</body>
</from>
<from secs="628">
<body>hOo</body>
</from>
<from secs="907">
<body>Raman here</body>
</from> …Run Code Online (Sandbox Code Playgroud)