Articles of xmpp

聊天和VOIP申请

我已经成功安装了Openfire XMPP服务器并构建了一个Android应用程序来进行文本聊天,如何在我的应用程序中实现VOIPfunction? 可以通过将openfire与SIP服务器连接来完成吗? 有人可以指导我吗?

Android上持久移动连接的最佳做法?

我正在考虑从Android应用程序使用持久连接到“云服务”。 这将一直在后台服务(或类似的东西)中运行。 我正在考虑使用网络sockets或XMPP来保持连接,基本上寻找一个不会耗尽电池的轻量级连接。 我希望能够将通知实时推送到此连接,因此不需要定期轮询。 我知道C2DM和其他商业解决方案,但我希望自己推出 。 这就是我正在调查的网络sockets(或其他轻量级连接)的原因。 所以,如果我走这条路,我应该注意哪些最佳实践? 我在考虑这样的事情: 如何防止电池耗尽, 如何处理IP地址变更等?

如何使用aSmack获取MultiUserChat房间的DiscussionHistory?

如何从MultiUserChat获取MUC房间的DiscussionHistory ? 我可以使用一个Smack库创建MultiUserChat实例和房间,现在我想显示房间里发生的所有先前的对话。 有同样经验的人请帮助我。 我谷歌搜索了很多关于这一点,但我仍然没有得到任何适当的文件/解释。

asmack XMPP新用户注册

StackOverflow的好人,请帮忙。 我在我的ubuntu机器上设置了一个ejabberd服务器,添加了虚拟主机,设置了{access,register,[{allow,all}]}。 并注册了一个管理员帐户。 我不是linux大师,但我已经设法做了这个基本的设置。 现在,从我的Win 7机器,使用Pidgin,我可以以管理员身份登录并可以访问许多管理function。 最重要的是我可以在服务器上创建新用户。 问题是我不能用我的Android客户端使用asmack库来做到这一点。 我可以建立连接和登录,但当我尝试通过客户经理或发送IQ数据包注册新用户时,我得到禁止(403)响应错误。 AccountManager am = new AccountManager(connection); Map attributes = new HashMap(); attributes.put(“username”, “my_user_name”); attributes.put(“password”, “my_password”); attributes.put(“email”, “foo@foo.com”); attributes.put(“name”, “my_full_name”); am.createAccount(“my_user_name”, “my_password”, attributes); Registration reg = new Registration(); reg.setType(IQ.Type.SET); reg.setTo(connection.getServiceName()); // attributes.put(“username”, username); // attributes.put(“password”, password); // reg.setAttributes(attributes); reg.addAttribute(“username”, username); reg.addAttribute(“password”, password); reg.addAttribute(“email”, email); reg.addAttribute(“name”, fullName); PacketFilter filter […]

在文件传输期间使用smack在android:java.util.concurrent.ExecutionException:没有来自客户端的响应

public void ReceiveFile() { ServiceDiscoveryManager sdm = ServiceDiscoveryManager.getInstanceFor(connection); if (sdm == null) { sdm = new ServiceDiscoveryManager(connection); Log.e(“service discovery”, “SDM”); sdm.addFeature(“http://jabber.org/protocol/disco#info”); sdm.addFeature(“jabber:iq:privacy”); } FileTransferManager manager = new FileTransferManager(connection); Log.e(“after manager”, “manager”); manager.addFileTransferListener(new FileTransferListener() { public void fileTransferRequest(final FileTransferRequest request) { new Thread(){ @Override public void run() { Log.e(“Thread running”, “starting”); IncomingFileTransfer transfer = request.accept(); File […]

我们如何从xmpp服务器访问存档消息到android应用程序

我在xmpp.org网站上进行了简要介绍,并阅读了与消息归档相关的所有内容(XEP-0136协议)。 阅读完所有文档之后,我仍然没有得到确切的方法来开始实现我的Android应用程序。 这里的任何人都可以帮助我,我们如何实现,在客户端访问消息存档。 我在我的应用程序中使用smack库。

在XMPP中使用带有aSmack的UserSearch时,getSearchForm返回null

我有这个代码,几乎没有修改过的例子: UserSearchManager usm = new UserSearchManager(conn); Form searchForm = usm.getSearchForm(“search.myserver.com”); Form answerForm = searchForm.createAnswerForm(); answerForm.setAnswer(“Username”, true); answerForm.setAnswer(“search”, contact.getJid()); ReportedData data = usm.getSearchResults(answerForm, “search.myserver.com”); 这在桌面环境中完美地运行,使用Smack库,但我不能让它在Android中工作(我必须使用asmack)。 问题是searchForm为null,因为getSearchForm返回null。 这似乎很奇怪,因为我似乎无法find哪些方法应返回null的文档。 服务器是Openfire,如果有帮助的话。

如何实现消息读取状态,如whatsapp蓝色刻度?

我正在开发一个应用程序,聊天是一个模块,聊天我正在使用xmpp。 当我发送消息时,我使用DeliveryReceiptManager获取该消息传递状态。 DeliveryReceiptManager.getInstanceFor(connection).enableAutoReceipts(); DeliveryReceiptManager.getInstanceFor(connection).addReceiptReceivedListener(new ReceiptReceivedListener() { @Override public void onReceiptReceived(String arg0, String arg1, String arg2) { Log.v(“app”, arg0 + “, ” + arg1 + “, ” + arg2); } }); 但我需要certificate该消息是用户READ或不喜欢whatsApp蓝色tickmark,任何人都可以帮助我,我在这里被击中。 如何实现此消息读取概念。 提前致谢。

使用Smack for Android实现FCM和XMPP

我正在使用XMPP在我的Android应用程序中实现聊天,我已经使用了Smack API。 我的聊天工作正常,我在本地保存Android设备上的所有聊天消息。以下是我目前面临的一些问题。 在聊天期间,如果某种方式连接丢失,那么重新连接需要花费很多时间,有时甚至连接都没有。 即使在连接连接后,它也停止发送聊天消息,因为它不再在另一侧接收。我已经重新初始化了资源,但它有时会工作 如果我的USER断开连接(离线),我想使用FCM发送消息。 我已经为其他事情实施了FCM并且工作正常。 但我想知道如果其他用户处于离线状态,我如何将FCM与SMACK API一起使用。 我正在尝试,但我不知道使用XMPP实现FCM的正确方法。 在聊天期间,我无法在另一侧获得用户的存在。 请建议我正确的XMPP(openfire)实施方式。 所以,它像whatsapp一样无缝地工作。 用户在互联网重新连接或活动打开后立即连接为新实例等。它的1对1聊天,即一次只有两个用户连接。 在此先感谢,请不要降级我的问题,因为我是XMPP实施的新手。

如何使用asmack android从Openfire中检索一对一的聊天记录

请问任何人都可以使用asmack库和XMPP协议向我显示从openfire服务器到android客户端应用程序检索聊天记录的确切代码吗? 在我的openfire服务器中,我启用了合并的监控服务/开放归档服务以及所有成功存储到数据库中的消息。 但我不知道这些消息(聊天记录)如何检索到我在ANDROID中构建的客户端应用程序。 我需要什么types的聊天是一对一的用户聊天(不是群聊)。 我成功地获得了群聊聊天历史,但我希望检索一对一的聊天记录 如果有人能给我写一个代码,我将非常感激。 谢谢!