2012-06-25 44 views
1

我正在使用xmpp框架。我完成了大部分最初的事情。我创建了流,连接它并获得身份验证。现在我正在向我的应用中的其他用户发送好友请求。应用程序显示正在发送。当我获得名单时,它显示了一个入口。但在其他系统上我没有任何先例或任何事情。我试图发送一条消息,也没有被其他客户端收到。XMPP框架:无法接收我的消息

比我在ichat中使用了一个id,并向该id发送了好友请求。哇,我能够看到朋友对ichat的要求。我接受来自ichat的请求:(没有通知我的应用程序

如果我发送消息给ichat。消息显示在iChat中,但是当我发送消息给我的应用程序从ichat ..我的应用程序没有得到任何代表调用或什么都没有。

我不知道为什么会这样。

我使用非ARC XMPP架构。

请人请帮助我。我非常stucked它:(

提前致谢。

回答

4

您是否考虑在获得身份验证后发送状态? 如果您进行身份验证但不发送信息,服务器会认为您处于脱机状态,并且发送给您的所有消息都将延迟存储在服务器上。

发送你的存在,并看到神奇。 :)

+0

是的,你是对的人..当我发送存在而不仅仅是服务器考虑我在网上,我得到了我所有的消息和每件事... –

+0

你能让我知道我如何获得雅虎用户列表使用xmpp框架...我只能看到Gmail用户。 – Ronak

0

我不是iPhone开发者,所以我不能解释编程。

在XMPP中,Presence订阅有两次握手。就像第一个用户向第二个用户发送请求时一样,它会询问第二个用户的在线订阅。当第二用户接受时,则第一用户被订阅第二用户的存在。所以他可以得到所有第二用户的存在。它被称为第一个用户的“to”订阅类型。现在,第二个用户向第一个用户请求状态订阅,并首先接受请求,然后将此“到”订阅类型更改为“两个”订阅类型。现在两个用户都可以得到彼此的存在。否则只有第一用户可以得到第二用户的存在。

而对于消息,必须有一些概率与侦听器。