首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XMPP JID似乎始终为空

XMPP JID似乎始终为空
EN

Stack Overflow用户
提问于 2015-08-01 22:20:27
回答 1查看 182关注 0票数 0

我使用XMPP构建聊天应用程序。在尝试登录时,我发现我的JID实例始终为空。因此,我可以连接服务器,但不能正确地进行身份验证。

代码语言:javascript
复制
self.xmppStream.myJID = [XMPPJID jidWithString:@"efeuser"];
NSLog(@"%@",self.xmppStream.myJID.user);

它将myJID记录为null。

我还尝试使用register包在Openfire上创建一个新用户,但用户JID也为空。

代码语言:javascript
复制
 <iq xmlns="jabber:client" type="error" to="bowerchat.com/3df1adfc">
  <query xmlns="jabber:iq:register">
   <username/>
   <password>efe1414</password>
  </query>
  <error code="500" type="wait">
   <internal-server-error xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
  </error>
 </iq>
EN

回答 1

Stack Overflow用户

发布于 2015-08-02 03:07:38

JID可以有两种形式:

代码语言:javascript
复制
user@example.com
example.com

如果它们包含@,则@之前的部分是userpart。但也可以省略userpart,就像在第二个示例中一样。这通常用于直接寻址主机。

代码语言:javascript
复制
self.xmppStream.myJID = [XMPPJID jidWithString:@"efeuser"];

这将创建一个没有userpart的新userpart。这意味着:

代码语言:javascript
复制
NSLog(@"%@",self.xmppStream.myJID.user);

正确打印(null),因为没有用户部分。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31762854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档