Articles of xmpp

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打开,但他们并没有影响我…

将参与者添加到XMPP聊天室

我想在我的应用程序中实现群聊,为此,我使用MUC聊天室来实现相同的function。 在这里,我想添加一个成员名单(我有JID的)到房间。 我想将它们内部添加到列表中的所有成员。 我如何添加他们而不邀请他们。 在添加成员之后,我想实现一个function,即每当聊天室的用户发送消息或聊天时,都应将其发送给所有其他用户。 主要问题是如何将成员添加到聊天室 码: private void createRoom(){ MultiUserChat privateRoom = new MultiUserChat(connection, "testGroup@conference.abc.com"); try { privateRoom.join("gaurav","123456"); privateRoom.sendConfigurationForm(new Form(Form.TYPE_SUBMIT)); System.out.println("Room Created!!!"); Message message = new Message("testGroup@conference.abc.com", Message.Type.normal); message.setBody("Happy User"); privateRoom.sendMessage(message); } catch (XMPPException e) { // TODO Auto-generated catch block e.printStackTrace(); } }

仅使用GCM开发针对android ditching XMPP的聊天应用程序是否好?

当设备空闲或应用程序在后台运行时, WhatsApp等许多应用程序依靠GCM向设备发送通知。 GCM消息只是告诉应用程序从服务器进行同步,然后使用XMPP来进行实际的聊天(传递有效载荷)。 但是依靠GCM发送消息是一个很好的决定。 所以在我的情况下,当一个用户想与另一个用户交谈时,他会向我的服务器发送一条消息,然后通过GCM将消息发送给其他用户。 我知道GCM不是100%可靠的,但我可以通过超时和确认消息确保可靠性。 还有什么可能会伤害我,如果我完全用GCM 。 不使用XMPP的原因是要扩展一个XMPP服务器(我不太熟悉)需要很多努力,但是在GCM的情况下,我的很多扩展问题都由Google来处理。

Android – Smack的存在和“打字”function无法正常工作

我在Android应用程序中使用Smack库v4.1.0(不是aSmack)作为聊天function。 我似乎无法得到以下两个function工作: 用户存在(在线,上次查看) 聊天消息状态(发送,发送,阅读) 对于用户存在,我使用下面的代码总是返回null 。 Presence userPresence = roster.getPresence(toUser); System.out.println("*** User status: " + userPresence.getStatus()); if (userPresence.getMode() == Presence.Mode.available || userPresence.getMode() == Presence.Mode.chat) { lblIsTyping.setText("Online"); } else { lblIsTyping.setText("Offline"); } 对于消息状态,我使用以下代码: private class MessageListenerImpl implements MessageListener, ChatStateListener { @Override public void processMessage(Chat chat, Message message) { processMessageCore(message); } @Override public void stateChanged(Chat chat, ChatState […]

找不到QuickBlox的StickersManager类

我正在尝试使用Quickblox的示例聊天应用程序。 http://quickblox.com/developers/Android_XMPP_Chat_Sample 但我得到这个错误“导入vc908无法解决”在这一行: import vc908.stickerfactory.StickersManager; 我已经使用这些库: – quickblox-android-sdk-chat-2.2.6.jar – quickblox-android-sdk-core-2.2.6.jar 还添加了这些: – android-support-v7-appcompat – google-play-services_lib – 拉到刷新

android如何发送和接收图像和位置(使用地图)在群聊中使用xmpp-smack

我正在开发使用android–xmpp的群聊应用程序,因为我不知道如何发送和recive图片图片或位置(使用地图)。 所以任何一个人都可以请给我这样做的方式。 目前,我得到了短信和添加到列表视图,如下, Message msg = new Message(to, Message.Type.groupchat); msg.setBody(text); if (Constants.connection != null) { try { Constants.connection.sendPacket(msg); Log.d("Send to room : Name : ", to); Log.d("store", "store data to db"); //DBAdapter.addUserData(new UserData(text, "", "1" ,beam_id)); } catch (Exception e) { Log.d("ooo", "msg exception" + e.getMessage()); } messages.add(text); runOnUiThread(new Runnable() { public void run() { […]