Articles of xmpp

Android和(数百万)推送通知

我正在研究我最初在iPhone上创建的应用程序的Android版本,这个应用程序需要每天向用户发送数百万次推送通知(如果它与iPhone版本一样成功)。 我天真地认为Android平台有推送通知服务作为它的兄弟,所以我决定在开发结束时看看这个function,现在我来了! 我在stackoverflow上搜索了关于这个function的问题(问题?)并find了几个选项(谢谢你们!)但是你们中的任何一个人能够用这样的音量来实现这样的function吗? 这是我find的选项: 谷歌的C2DM框架 :我的第一个问题是它仅适用于Android 2.2 +,但如果每天没有200.000通知配额 ,我可能会考虑它; 你们有没有人要求谷歌提供更多配额? MQTT :这个解决方案看起来不错,Anton Lopyrev提供的示例代码很有帮助(Dale Lane博客文章很好读); 这是我现在正在使用的选项但我不知道它如何与数千名用户做出反应(我也遇到服务器问题(mosquitto)或服务(我还不知道)而且我不是有时可以与2个用户接收通知:p) XMPP :它看起来是最好的选择(但是?)但是我还没有尝试过; 你们有没有人使用这个解决方案? 我读过Xtify或Urban Airship,但这些商业解决方案都没有帮助(数量或成本)。 谢谢你的任何提示! 编辑:我的目标是每天最多发送5,000,000条通知

Android P2P多人游戏(带有)XMPP / Google对话b)JXTA peerdroid c)其他方式)

我是一个Android开发人员,我做了一些棋盘游戏。 现在我想制作一些我的棋盘游戏多人游戏。 我不想创建和托管我自己的Web服务,所以我想到了P2P。 我发现的第一件事是XMPP协议,但它不是真正的P2P,但如果我可以使用现有的谷歌聊天服务,我已经准备好了。 这是否可以在使用现有的Google帐户时干扰Google Talk客户端的正常工作? 然后我听说了真正的P2P解决方案JXTA,它已经从J2ME移植到Android( http://code.google.com/p/peerdroid/ )。 也许我在这里过于复杂的事情(我有时会这样做) 我只是想知道为桌面游戏做简单P2P的最简单方法。 欢迎您的所有意见! 提前致谢

如何在Android上保持XMPP连接稳定(a)smack?

我使用Android的asmack–android-7-beem库。 我有一个后台服务正在运行,例如我的应用程序保持活动状态。 但是,XMPP连接迟早会在没有任何通知的情况下死亡。 服务器说客户端仍然在线,但没有发送或接收数据包。 例如,当其他客户端具有新的存在时,客户端不接收任何存在分组。 我有XMPPConnection作为我的主要Application类的一个属性。 我在建立ConnectionConfiguration config.setReconnectionAllowed(true)之前设置了ConnectionConfiguration config.setReconnectionAllowed(true) 。 但重新连接不会发生。 XMPPConnection connection.isConnected()返回true。 因此客户端不知道连接实际上已丢失。 有没有办法保持连接活着?

如何在Android中使用Smack 4.1?

我正在寻找这个答案使用您自己的XMPP服务器为Android聊天应用程序(Smack API)来了解可用的XMPP API。 Smack似乎是个不错的选择。 在Smack 4.1之前,人们必须依赖aSmack。 从4.1开始,Smack将在Android上本机运行。 我有几个“入门”问题。 问题1: 如何在Eclipse的Android项目中包含Smack 4.1? 这里的说明https://github.com/igniterealtime/Smack/wiki/Smack-4.1-Readme-and-Upgrade-Guide似乎适用于Android Studio 问题2: Android的代码是否保持不变? 我在这里指的是他们的官方文档: https : //www.igniterealtime.org/builds/smack/docs/latest/documentation/index.html 我想知道的是API的使用是否也会在Android中保持不变。

远程客户端没有响应:使用asmack进行文件传输时出错

使用asmack接收文件时遇到问题。 在这里,我粘贴我发送和接收日志的错误和数据包 // error 04-21 19:21:05.109: WARN/System.err(7401): Error in execution: 04-21 19:21:05.109: WARN/System.err(7401): — caused by: java.util.concurrent.ExecutionException: 04-21 19:21:05.109: WARN/System.err(7401): — caused by: No response from remote client: 04-21 19:21:05.109: WARN/System.err(7401): at org.jivesoftware.smackx.filetransfer.IncomingFileTransfer.negotiateStream(IncomingFileTransfer.java:199) 04-21 19:21:05.109: WARN/System.err(7401): at org.jivesoftware.smackx.filetransfer.IncomingFileTransfer.access$100(IncomingFileTransfer.java:47) 04-21 19:21:05.109: WARN/System.err(7401): at org.jivesoftware.smackx.filetransfer.IncomingFileTransfer$1.run(IncomingFileTransfer.java:124) 04-21 19:21:05.109: WARN/System.err(7401): at java.lang.Thread.run(Thread.java:1019) 04-21 19:21:05.109: WARN/System.err(7401): Nested Exception: 04-21 19:21:05.109: […]

Android xmpp MUC设置默认configuration

我正在使用Xabber开源项目,并且能够创build一个新的组,但它总是说:这个房间被locking,直到configuration被确认。 我试图设置一个默认的configuration,但它引发了我的exception:401未经授权。 到底是什么问题。 final MultiUserChat multiUserChat; try { multiUserChat = new MultiUserChat(xmppConnection, room); // CHANAKYA: set default config for the MUC // Send an empty room configuration form which indicates that we want // an instant room try { multiUserChat.sendConfigurationForm(new Form(Form.TYPE_SUBMIT)); } catch (XMPPException e) { e.printStackTrace(); }

如何从XMPP XML消息中获取自定义属性值?

好吧,简单的问题,但对我来说很重要。 所以,其他的Android客户端都发送这个XML MSG: <message id='6ymdM-19' to='xox@xox.xox/smack' type='chat'> <subject>normal</subject> <received xmlns='urn:xmpp:receipts' id='HVgQw-5'/> </message> 我的听众大概是这样的: private class MsgListener implements ChatStateListener { /** * Constructor. */ public MsgListener() { } @Override public void processMessage(Chat chat, org.jivesoftware.smack.packet.Message message) { String xmlMessage = message.toXML(); Log.v(TAG, "XML Chat: "+xmlMessage); // getExtension namespace try urn:xmpp:receipts if(xmlMessage.contains("<request xmlns=")) { Log.d(TAG, "new chat message […]

如何添加和订阅jabber条目到我的XMPP账户?

我可以通过使用此代码将Entry添加到Xmpp帐户。 我不能订阅“两个”,而不是这个我没有得到。 roster.createEntry("abc@xyz.com", "abc", null); 如何添加条目与存在type=both ,当我订阅这个帐户的条目。 我想知道是否xmpp publish-subscribefunction? 如何获取入站通知? 如何发送出站通知? 编辑: public void Addcontact() { Roster.setDefaultSubscriptionMode(Roster.SubscriptionMode.manual); Roster roster = m_connection.getRoster(); if(!roster.contains("pa@ace.com")) { try { roster.createEntry("pa@ace.com", "pa", null); } catch (XMPPException e) { e.printStackTrace(); } }else { Log.i("Acc = ", "contains"); } } 我正在添加这样的条目仍然我正在获取存在types=无..

使用XMPP的Android推送通知

我仔细阅读了关于主题和Android推送通知的所有post。 基本上,根据这个postAndroid&(数百万次)推送通知 ,定义了三种可能性:Google Cloud Message,MQTT和XMPP。 关于Google Cloud Message我看到一些优点和一些缺点(Android版本,安装了Google Play,活跃的Google计数,不保证按顺序发送通知等等..) MQTT不知道,但我放弃了我的阅读或他们的复杂性和与其他组件的困难整合。 我select了XMPP,因为它是我用来制作游戏应用程序的服务器。 玩游戏时,玩家A移动,在与玩家B分享的聊天室中发送消息,玩家B在其客户端应用程序中接收,分析并执行必要的操作。 因此游戏的发展发生在聊天室中。 但是我也喜欢WhastApp或者AngryWords的风格,当一个玩家没有打开应用程序,另一个玩家发起挑战来开始玩或者玩游戏时,Android上会出现一个提示。 这就是我所说的,我希望我错了,推送通知。 客户不会以特定的时间间隔询问(轮询),而是在事件发生后启动stream程的服务器。 我明白,所描述的所有方法,XMPP,因此,涉及到永久开放的TCP / IP。 但是是否需要执行发布/订阅? 如果我有10,000个用户,他们必须成对发布/订阅? 可以使用聊天消息来完成特定types的JID吗? 最后,要做到这一点,只有当应用程序没有在设备上打开状态栏中有一个通知。 谢谢

XMPP上丢失的设备断开连接

我正试图通过XMPP开发一个基础游戏。 (我发现多平台游戏的唯一解决scheme)。 我可以毫无问题地发送消息。 如果其他用户不在线,则服务器(OpenFire)将其保存以供以后交付。 当设备改变networking(从3G改变为WiFi,改变3g IP …)或设备丢失networking(closures3G,WiFi或丢失连接)时,问题出现了。 服务器认为该设备在线并发送该消息,但它(明确地)永远不会到达,因此数据包丢失。 我知道一个解决scheme。 通过我的游戏协议实现ACK,但我不太喜欢这个想法。 你有其他build议吗? 我认为这是一个服务器问题。 你知道另一个服务器女巫实现TCP或ACK? 谢谢!! 编辑:我这样做:连接设备到服务器。 我拒绝3G和WiFi连接到设备。 Android和服务器仍然认为连接是活着的。 http://issues.igniterealtime.org/browse/SMACK-331 PD:我要求为他们的多人api打开,但他们并没有影响我…