我目前正在尝试使用ejabberd
我正在使用xmppframework
与我的ejabberd
服务器进行通信。
我要做的是以下内容。
@IBAction func registerUser(_ sender: Any) {
var username: String = ""
var password: String = ""
let elements: NSMutableArray = []
if let user = tf_user.text {
username = "\(user)@192.168.1.19"
elements.add(XMLElement(name: "username", stringValue: username))
}
if let pass = tf_password.text {
password = pass
elements.add(XMLElement(name: "password", stringValue: password))
}
if username != "" && password != "" {
if stream.supportsInBandRegistration() {
do {
try stream.register(withElements: elements as! [Any])
} catch let error {
print(error)
}
}
}
}
然而,当我进行注册调用时,我收到以下错误
<iq xmlns="jabber:client" from="192.168.1.19" type="error">
<query xmlns="jabber:iq:register">
<username>user1@192.168.1.19</username>
<password>pass</password>
</query><error code="400" type="modify">
<bad-request xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
<text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas">Malformed username</text></error></iq>
我不确定为什么这不起作用。有谁知道我哪里出错了?我觉得这与添加我的元素有关。