Articles of smack

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

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

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

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

Smack和aSmack有什么区别?

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

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。 ( 问题:由于连接丢失而在队列中的消息将取决于用户返回应用程序)

在切换数据连接时,Android上的XMPP消息丢失(例如,转动Wifi,GSM Wifi切换)

我在android中开发一个聊天应用程序。 使用XMPP服务器。 PHP服务器已迁移到ejabber。 我的通知在所有情况下都能正常运行 但在一个案例中,我正在丢失XMPP消息。 事实上,我没有收到通知。 详细说来,我正在关闭WiFi或数据连接。 关闭WiFi或数据连接后发送给我的任何通知都没有收到。 在我打开WiFi或数据连接后,我无法收到发送给我的消息。 我已经在后台实施了服务。 这使得xmpp连接永远存在。 我关闭WiFi连接时收到此错误。 java.net.SocketException: sendto failed: EPIPE (Broken pipe) java.net.SocketException: recvfrom failed: ETIMEDOUT (Connection timed out) at libcore.io.IoBridge.maybeThrowAfterSendto(IoBridge.java:506) at libcore.io.IoBridge.sendto(IoBridge.java:475) at java.net.PlainSocketImpl.write(PlainSocketImpl.java:508) at java.net.PlainSocketImpl.access$100(PlainSocketImpl.java:46) at java.net.PlainSocketImpl$PlainSocketOutputStream.write(PlainSocketImpl.java:270) at java.io.OutputStreamWriter.flushBytes(OutputStreamWriter.java:167) at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:158) at java.io.BufferedWriter.flush(BufferedWriter.java:124) at org.jivesoftware.smack.PacketWriter.writePackets(PacketWriter.java:286) at org.jivesoftware.smack.PacketWriter.access$12(PacketWriter.java:270) at org.jivesoftware.smack.PacketWriter$1.run(PacketWriter.java:137) Caused by: libcore.io.ErrnoException: sendto failed: EPIPE (Broken pipe) […]

如何获取传入的xmpp消息的时间戳?

我正在使用aSmack库与远程xmpp服务器进行通信。 我能够发送/接收消息,但我想获取传入消息的时间戳。 你能告诉我,有可能吗? 因为我找不到关于这个问题的任何信息。 提前致谢

XMPP aSmack – 如何获取当前用户状态(离线/在线/离开/等)?

我是android的新手xmpp / asmack。 谁能帮助我获得用户朋友的存在(名单) 我用这个: Presence availability = roster.getPresence(user); Mode userMode = availability.getMode(); 我还应该做些什么来获取我名单中列出的每个用户的可用性状态。

将Smack与Android Studio项目集成,用于聊天应用程序

我正在尝试使用ejabberd服务器和smack库实现聊天信使,但很难整合所有的jar和smack的依赖项。 我正在使用android Studio。 我的build.gradle(模块): apply plugin: ‘com.android.application’ android { compileSdkVersion 22 buildToolsVersion “22.0.1” defaultConfig { applicationId “com.example.nit.xmppclient” minSdkVersion 18 targetSdkVersion 22 versionCode 1 versionName “1.0” } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } } dependencies { compile fileTree(dir: ‘libs’, include: [‘*.jar’]) compile ‘com.android.support:appcompat-v7:22.2.0’ compile “org.igniterealtime.smack:smack-android:4.1.0” compile “org.igniterealtime.smack:smack-tcp:4.1.0” compile “org.igniterealtime.smack:smack-android-extensions:4.1.0” compile ‘org.ogce:xpp3:1.1.6’ […]

如何在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中保持不变。