ios - 使用 xmpp 和 openfire 向用户发送好友请求

标签 ios iphone xmpp openfire xmppframework

你好,我已经使用 openfire 作为服务器,并且想要发送好友请求,我正在使用以下代码

- (XMPPRoster *)xmppRoster {
    return [[self appDelegate] xmppRoster];
}

-(IBAction)SendFriendRequest:(id)sender
{
    XMPPJID *newBuddy = [XMPPJID jidWithString:@"test1@192.168.4.21"];

    [[[self appDelegate]xmppRoster]addUser:newBuddy withNickname:@"test user 1"];
}

我收到这种类型的日志

<iq xmlns="jabber:client" type="error" to="192.168.4.21/de4fd927"><query xmlns="jabber:iq:roster"><item jid="test1@192.168.4.21" name="test user 3"></item></query><error code="401" type="auth"><not-authorized xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"></not-authorized></error></iq>

我无法向已在 Spark 中记录的“test1”发送请求。

任何帮助将不胜感激!

最佳答案

  1. 每个可以与其他实体交换 XMPP 数据包的 XMPP 实体都应该具有 username@domain.tld 形式的 JID,您尝试使用 IP 地址而不是域名,这是可能的,但可能会给出意外错误。

  2. 您应该先在服务器上进行身份验证,然后才能与其他人交换数据包。

关于ios - 使用 xmpp 和 openfire 向用户发送好友请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22397942/

相关文章:

ios - Kotlin Multiplatform Mobile 无法在 iOS 上运行 : Execution failed for task ':shared:compileKotlinIosX64'

ios - 使用 AutoLayout 创建顶部有图像、底部有标签的 UIButton (UIButtonTypeCustom)

iphone - 使用 wav 文件和 openal 在 iPhone 上进行节拍检测

iphone - Fidget Spinner 动画 Swift?

android - 从 XMPP android 获取不同的发件人和接收地址,任何解决方案?

ios - UIDocumentInreactionController 不允许 .URL 的 NSURL (Swift)

ios - 如何检索所有连接的蓝牙外围设备

ios - 我可以在 info.plist 中定义用户定义的键吗

Android aSmack - 如何为文件发送制作自定义消息扩展?

java - XMPP Smack API RosterListener + 数据库更改