Articles of xmpp

Gtalk XMPP SASL身份validation使用X-OAUTH2机制失败了吗?

我在我的应用程序中使用GoogleTalk XMPP进行聊天。 无法使用用户名和AuthToken与Google authentication创建XMPP连接。 现在我使用GoogleAuth2进行authentication 。 我尝试使用access_token和电子邮件进行身份validation。 通过使用SASLMechanism 。 但我无法连接到xmpp服务器,它给出了这样的错误,因为SASL authentication failed using mechanism X-OAUTH2 ConnectionConfiguration config = new ConnectionConfiguration(server_host, SERVER_PORT, SERVICE_NAME); config.setSASLAuthenticationEnabled(true); m_connection = new XMPPConnection(config); SASLAuthentication.registerSASLMechanism(“X-OAUTH2”, GoogleConnectSASLMechanism.class); SASLAuthentication.supportSASLMechanism(“X-OAUTH2”, 0); config.setSecurityMode(ConnectionConfiguration.SecurityMode.enabled); try { m_connection.connect(); } catch (XMPPException e) { e.printStackTrace(); } 这是我用于SASLMechanism. public class GoogleConnectSASLMechanism extends SASLMechanism { public static final String NAME = […]

XMPP(Openfire)推送通知Android

我真的试图find这个问题的解决方案,但没有。 有一些与此概念相关的线程,但我找不到全面的解决方案。 我有一个Openfire服务器发送消息。 当两个用户都在线时,没有问题。 但是,当用户离线时,我想发送推送通知,如Whatsapp。 我听说Whatsapp和其他IM应用程序使用ejabber的修改版本来发送推送通知,但无法find方法。 一种可能性是使用GCM,但我不确定这是否是正确的方法。 另外,我想避免轮询,以免耗尽电池寿命。 有谁知道一些解决方案或有一个例子?

在Android上保持XMPP连接(使用asmack)

我正在开发一个通过XMPP接收推送通知的应用程序(我知道C2DM,但它有一些限制,我不能因为它而使用),问题是连接后一段时间被垃圾收集而我不能向Android设备发送推送通知。 我想我需要实现Android服务,但我不知道如何实现一个能保持连接活动的服务。 有人可以帮帮我吗?

如何实现XMPP发送推送通知

我想使用XMPP,以便我的应用程序将发送更新到Android手机(1.5及更高版本)。 我非常想使用XMPP向手机发送推送通知。 我将如何实现这一目标。 目前我的web应用程序正在运行apache tomact with a many servlet,因此android手机可以访问信息,但我发现很难理解如何实现XMPP以便我可以将信息从服务器推送到客户端( android手机)。 我已经使用Google ID登录测试了以下教程的XMPP示例 它使用Google ID登录。 但我需要使用我的webapplication来做谷歌实现的。 有任何想法吗?

如何使用(a)Smack库在XMPP上注册新用户

我在这里使用了很棒的post设置了一个xmpp服务器和android客户端…我在xmpp服务器中设置了一些预先定义的用户,我可以使用这些凭据登录。 现在,从我的应用程序,我想通过Android客户端注册为xmpp服务器的新用户。 任何人都可以建议我如何实现这一目标……任何帮助都将得到很好的赞赏…… !!!

使用XMPP在Android上推送用户通知 – 以任何方式定位这些,这样他们就不会去Google Talk等

我想使用XMPP将数据推送到我的客户端,这将转换为用户的通知,并计划使用他们的google-id登录我的应用程序。 我理解XMPP的方式是它直接发送到地址的简单消息,但我希望客户端将其作为指令获取并将其转换为游戏状态信息。 如果用户在谷歌聊天中获得一堆命令元组或hex垃圾,那将是非常令人沮丧的! 我误解了这一切的运作方式吗?

无法使用Android的sSck库创建多用户聊天(MUC)房间:“packet.DefaultPacketExtension无法转换为packet.MUCUser”

对于一个应用程序,我需要能够创建一个多用户聊天室并加入它。 聊天服务器是一个openfire服务器。 我曾经有: MultiUserChat chat = new MultiUserChat(connection, roomName + “@conference.localhost”); chat.join(nickname); 当房间不存在时,它会创建房间并加入。 但是下一个用户无法加入。 他得到了404,收件人不可用(404)。 这表明聊天室被锁定了什么。 然后我在文档中find了代码并尝试了以下内容: chat.create(nickname); // Send an empty room configuration form which indicates that we want // an instant room chat.sendConfigurationForm(new Form(Form.TYPE_SUBMIT)); 但是,当我尝试执行此操作时,它说它在logcat中崩溃并出现以下错误: 03-02 12:04:12.890: E/AndroidRuntime(20872): FATAL EXCEPTION: AsyncTask #3 03-02 12:04:12.890: E/AndroidRuntime(20872): java.lang.RuntimeException: An error occured while executing doInBackground() 03-02 […]

Smack和aSmack有什么区别?

我无法在Android上使用Smack ,而aSmack完美无缺? 当比较源代码时,它看起来有点类似,差异来自哪里? Smack和aSmack有什么区别?

使用XMPP服务器和Google云消息传递(或更新的Firebase云消息传递)进行推送通知的Android应用程序App

我正在为Android开发一个聊天应用程序。 我已经阅读了几周关于XMPP和Google Cloud Messaging(以及Firebase云消息传递)的内容,我仍然感到非常困惑。 目前,我已经在本地设置了一个XMPP服务器(Ejabberd),并使用Smack库成功地将我的Android应用程序连接到它。 据我了解,我需要使用GCM或更新的FCM进行推送通知,因此我已经在Google Cloud Platform中创建了一个项目。 我的Android应用程序也可以使用Smack库连接到它(而不是直接连接到我的XMPP服务器)。 在我的服务器中,我有一个小型Java应用程序,它也使用Smack库连接到GCM。 一切都很好,直到这里。 我最大的困惑是: 如何将我的XMPP服务器与GCM一起用于推送通知? 我在服务器端实现中find的每个文档,示例,指南,教程都告诉我如何连接到GCM,但没有人告诉我如何将我的XMPP服务器与GCM结合使用。 我错过了什么? 我的Java应用程序只是连接到GCM,从GCM接收和发送消息,但我的XMPP服务器只是坐在那里什么都不做。 实际上我的Android App和服务器Java App只使用GCM,而不是我的XMPP服务器。 我希望有人能帮助我理解这一点,我显然缺少实现这一实现的一些关键要素。

Smack 4.1重新连接问题

我正在开发一个聊天应用程序 我有一个持续运行的后台服务。 应用程序运行顺利,我能够毫无问题地接收和发送消息。 我正在使用默认的Smack 4.1重新连接管理器,它会在连接丢失后立即连接(几乎90%的时间)。 但有时,当连接丢失时,Smack重新连接管理器停止工作。 我无法找出造成这个问题的原因。 当我检查手机时,经过12到14小时的延迟,我可以看到Android服务仍在运行,但XMPP重新连接已停止工作。 然后我必须强制停止应用程序,然后重新启动服务并让它再次连接到XMPP服务器。 我的假设是,当“电话网络从Wifi到数据或数据到Wifi”切换时,就会发生这种情况。 与此同时,Smack 4.1重新连接管理器停止工作。 虽然,我不确定。 我有问题 PingManager有什么用? PingManager在这种情况下可以提供帮助吗? 什么是StreamManagement? 我该如何启用它? 这种情况有用吗? 任何其他解决方案来解决这个问题? 我在考虑以下解决方案: 要使用GCM以及XMPP,所以当XMPP无法重新连接时,我可以获得PUSH并在PUSH的基础上再次连接。 使用警报服务。 ( 问题:由于连接丢失而在队列中的消息将取决于下一个警报计划) 每次用户返回应用程序时连接XMPP。 ( 问题:由于连接丢失而在队列中的消息将取决于用户返回应用程序)