你好,我已经将openfire用作服务器,并希望发送 friend 请求,我正在使用以下代码

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

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

    [[[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="[email protected]" 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>

我无法将请求发送到“test1”已登录到spark。

任何帮助将是不小的!

最佳答案

  • 每个可以与其他实体交换XMPP数据包的XMPP实体都应具有[email protected]格式的JID,您正在尝试使用IP地址而不是域名,但这是可能的,但可能会带来不可预期的错误。
  • 您必须先在服务器上进行身份验证,然后才能与他人交换数据包。
  • 09-25 15:38