草庐IT

java - 使用 XMPP 构建聊天应用程序的模式

我使用GoogleAppEngineServer构建了一个Android应用程序。现在我想在我的应用程序中添加简单的聊天。我有一些问题。我的用户注册了他们想要的电子邮件域,例如hotmail.com、yahoo.com甚至更深奥的域,这是否意味着我需要为他们创建JID?如果是的话,GoogleApp引擎是否会为我可以操纵的应用域提供JID创建?我读到GoogleAppEngine充当XMPP客户端,因此我需要可以接收和发送XMPP消息的Xmpp服务器。那么我为什么要做GAE呢?Openfire是我的答案吗?我可以将Openfire与GAE集成吗?我还读到,如果我想在GAE和Androi

android - 使用 xmpp 传输文件时出现错误代码 503

我正在尝试使用smack和openfirexmpp发送图像文件。为此,我正在使用FileTransferManager类。要使用FileTransferManager类,我使用asmack-android-6.jar。我跟着这个link做文件共享。这个问题也在本教程下面的评论中分享,但没有给出很好的解决方案。然后我搜索了堆栈溢出,很多开发人员都问过这个问题,但只有1-2人得到了他们接受的回复,others不是。我研究了所有找到的答案,尝试了谷歌给我的所有方法,但仍然无法解决这个问题。我使用的代码是:d.findViewById(R.id.btnsendphoto).setOnClick

android - 如何从 Smack 4.1 创建帐户

我正尝试在jabber.at上从SmackforAndroid创建一个帐户。这是我的代码:XMPPTCPConnectionConfigurationconf=XMPPTCPConnectionConfiguration.builder().setServiceName("jabber.at").build();XMPPTCPConnectionconnection=newXMPPTCPConnection(conf);connection.addConnectionListener(xmppConnectionListener);connection.connect();Accoun

android - 在没有互联网访问的情况下从服务器端向 android 应用程序发送警报/通知

我需要从web应用程序向android应用程序发送推送通知。基本上我只想通知android客户端服务器上有新数据可用。所以它只需要是手机的字符串+振动/声音。这里的(大)问题是我在无法访问互联网的公司网络中。这就是我不能使用GCM的原因。到目前为止,我发现以下选项可以在没有GCM的情况下完成任务:使用XMPPWebSocketsAjax轮询是否可以将WebSockets或AjaxPolling包含到nativeAndroid应用程序中以触发振动等事件?有没有更简单的解决方案,没有xmpp那样的开销,因为我只需要发送一个简短的通知?到目前为止,我明白我需要一些像SMACKXMPP的东西用

java - 如何在 Android smack 中正确接受好友请求?

有一个openfire服务器和Android客户端(smack)。所有客户端都可以将彼此添加到好友/名册列表中(未经授权,我希望用户可以在不接受好友请求的情况下看到对方)。我在获取好友请求发送者的状态信息时遇到了一些问题。假设有2个用户-用户A、用户B。我可以通过以下方式将用户B添加到用户A的名册中:Rosterroster=xmppManager.connection.getRoster();roster.setSubscriptionMode(Roster.SubscriptionMode.accept_all);roster.createEntry("userB","userB@

android - 无法识别 IQ Custom 提供商

我正在使用aSmack和Openfire。经过大量研究,我发现Openfire不支持消息归档并安装了插件OpenArchive。现在归档工作正常,所有消息都存储正常。现在在客户端,我尝试发送一个IQ节来检索存档的聊天记录。首先,我添加了一个IQProvider,如下所示:pm.addIQProvider("list","urn:xmpp:archive",newListIQProvider());然后我用了:finalIQiq=newIQ(){@OverridepublicStringgetChildElementXML(){return"30";}};iq.setType(IQ.Ty

android - 为上游 google gcm 构建 xmpp 服务器

假设有一个应用程序在给定时间点有数千万次安装和数万个活跃用户。我需要将用户的Activity数据记录到我的服务器。目前,我从设备向我的服务器发出HTTP请求。我有一堆运行网络服务器的机器,坐在亚马逊的ELB后面。他们解析来自设备的数据并将其放入mongodb。现在,我想通过使用Google的GCM提供的上游CCS来捕获设备数据(这样我就可以搭载GCM以更可靠地传输数据)我已经编写了一个原型(prototype)XMPP服务器,我可以使整个工作正常进行,但我担心扩大规模。如果Google开始以快于我消费的速度向我发送消息,会发生什么情况?早些时候,我能够在负载均衡器后面使用多个服务器来解

android - 在 Android 中获取 XMPP Open Fire 私有(private)聊天历史和消息存档

我正在研究XMPPOpenfire我能够在私有(private)聊天和房间中发送和接收消息,也能够获得房间聊天的聊天历史但无法获得私有(private)聊天的消息历史我也想要实现Android私有(private)聊天和房间聊天中的消息存档。 最佳答案 XMPP中的私有(private)消息存档XMPP服务器默认不存储私有(private)聊天记录。如果在服务器上启用,尚未传送到客户端的私有(private)消息将存储为“离线消息”。一旦客户端重新连接,这些就会自动传送和清除。您的客户端将像普通消息一样接收它们,除了它们将包含tim

android - 通过xmpp在android中传输文件?

我只是想通过xmpp传输文件。我正在使用asmacklib。我在下面遇到异常。E/AndroidRuntime(332):FATALEXCEPTION:mainE/AndroidRuntime(332):java.lang.NullPointerExceptionE/AndroidRuntime(332):atorg.jivesoftware.smackx.bytestreams.socks5.Socks5BytestreamManager.enableService(Socks5BytestreamManager.java:704)E/AndroidRuntime(332):ator

android - 与 Android 一键通

我想在我的应用程序中添加一键通应用程序的一项功能,以便我的团队之间进行通信。除此之外,我还需要某种短信。但我希望它能够在Gprs中工作。我发现SIPAPI可用于调用语音电话,但它说它需要WIFI。我想让它在Wifi和GPRS上运行。有人可以告诉我从哪里开始的想法吗? 最佳答案 SIP中的一键通只是一个普通的调用,RTP进行棘手的发言权控制。通常有一个媒体服务器涉及向所有参与者广播语音突发以节省稀缺的上传带宽。服务器通常有一个公共(public)地址,可以简化参与者的NAT穿越。但是,如果您自己推出,并且不需要与其他SIP服务或IMS