哪个XMPP库是Android开发的最佳选择?
我一直在使用修补的Smack库,正如在SO中的许多其他问题中所建议的那样.但是,这是两年前Smack API的补丁版本.虽然它通常运作良好,但我正在探索任何其他更近期的选择.
我一直在看官方的Smack API,经过一些研究后,它似乎现在可能工作得很好(虽然我还没有在实际应用程序中尝试过).
还有我遇到的另一个解决方案,Beem的aSMACK库.Beem是一个相当新的Android的XMPP客户端,据我所知,他们正在使用他们自己的修补版本的aSMACK.
最后,还有aSMACK,但也有一段时间没有更新(如网站所示).
您有任何其他建议或者您能解释为什么我应该选择以上其中一种吗?
我一直在寻找一些开源的XMPP服务器,并熟悉官方网页http://xmpp.org/.但到目前为止,我还没有找到" 可扩展消息和存在协议(XMPP)是一种开放式实时通信技术 "和XEP规范列表之间的任何内容.例如,解释基础知识和术语的文章 - 节,智商,存在等等.即使是维基百科页面也没想到这一点,不出所料,开源项目假设你在开始深入研究代码之前就知道这些事情.
这是一个很好的(半)官方教程吗?我是否需要寻找Jabber资源而不是XMPP?
除此之外,我希望看到用例和流程图,而不仅仅是干协议文本.我知道有关XMPP的书籍,但一般来说书中的任何内容都可以通过网络形式获得.
我发现这个项目:http://code.google.com/p/standalonewebsocketserver/用于websocket服务器,但我需要在python中实现websocket客户端,更确切地说,我需要从我的websocket服务器中的xmpp接收一些命令.
我希望用Java实现一个简单的XMPP服务器.
我需要的是一个可以解析和理解来自客户端的xmpp请求的库.我看过Smack(下面提到)和JSO.Smack似乎只是客户端,所以虽然它可能有助于解析数据包,但它不知道如何响应客户端.JSO是否保持它看起来很旧.唯一有希望的途径是拆分Openfire,这是一个完整的商业(OSS)XMPP服务器.
我只是希望Netty或Mina上面有几行代码,所以我可以开始处理一些消息.
乔 -
那么我想要做的事情的答案有点长 - 我会尽量保持简短.
有两件事,只是松散相关:
1)我想编写一个XMPP服务器,因为我想为两个客户端编写自定义协议进行通信.基本上我在想一个联网的iPhone应用程序 - 但我不想依赖低级二进制协议,因为使用类似XMPP的东西意味着应用程序可以从基于本地wifi的应用程序快速"成长"到基于互联网的应用程序...
交换的消息应该是相对较低的延迟,所以严格来说二进制协议是最好的,但我觉得如果XMPP没有引入太多开销以便我可以使用它然后获得它的可扩展性的好处,那么值得探索.和以后的灵活性.
2)我为兵马俑工作 - 所以我有这种疯狂的想法聚集一切.我一开始考虑编写一些自定义服务器代码,我想我想将它集群化.Terracotta使得Java POJO的扩展变得微不足道,所以我的想法是构建一个超级简单的XMPP服务器作为Terracotta的演示应用程序.基本上每个用户都将通过TCP连接连接到服务器,这将用户注册到散列映射.每个用户都有一个LinkedBlockingQueue,其中一个侦听器线程从队列中获取消息.然后,任何想要向任何其他用户(例如任何旧的聊天应用程序)发送消息的连接用户只需通过该连接向该用户发出XMPP消息(照常).服务器选择它,在地图中查找相应的用户对象并将消息放入队列.由于队列是群集的,
所以 - 我不害怕总结.但这就是我想要做的.我想我可以为Openfire编写一个插件来完成#1,但我认为它需要处理很多管道,因此很难做到#2(特别是因为我希望有一小部分代码能够适应简单的10-20kb Maven项目).
我即将开发一个近乎实时聊天的网站.我知道它可以使用xmpp或websocket协议实现.我也知道xmpp协议是在1999年开发的,我想它现在应该是成熟的.另一方面,websocket协议已于2011年开发.
我计划开发一个基于Web的聊天应用程序,它接收ReSTful请求,将它们转换为XMPP并将它们传送到XMPP服务器.
对于这种基于聊天的应用程序使用websockets看起来很有希望,因为事件(或响应)可以异步传递.但是,如果我使用websockets作为从浏览器传输请求的底层协议,这仍然可以被视为ReSTful设计吗?如果是,那么在websocket消息中如何表示URI,动词(GET,POST ...)参数?将它们包装在xml/json中并发送它?
此外,ReSTful架构声明服务器上不会存储任何会话状态.但是在这种情况下,当创建XMPP客户端会话时,此会话的状态将存储在服务器上(违反无状态约束)
我搜索过并没有找到XMPP使用的端口.我需要实现XMPP服务器和客户端,并使用XML传输,文件传输和流式传输.他们使用不同的端口?有没有办法可以让他们使用所有相同的,所以我不需要打扰网络管理员?谢谢
您对Python Jabber/XMPP客户端库有什么经验?您有什么推荐的吗?
////////////////////////////////////////////////// ////////////////////////////////////////////////
// OBSERVE https://developers.facebook.com/docs/chat/
随着Platform API v2.0的发布,本文档所涵盖的服务和API已被弃用.不推荐使用1.0版后,chat.facebook.com将不再可用.
//阅读本文,你可能想做一些与这个问题有关的事情完全不同的事情.
////////////////////////////////////////////////// //////////////////////////////////////
我正在创建一个与Web Chatms C#连接到Facebook Chat API的聊天.
我也看了这个问题(以及所有链接).由于Facebook auth_token
现在需要,因此某些部分不再相关.
要复制此功能,您应该设置一个Facebook Web应用程序,使用appId
具有xmpp_login权限集的用户帐户.然后Chat.aspx
在后面创建一个代码并相应地粘贴此代码.并替换硬编码用户进行交互.
我有两个(可能是三个)问题我相信会阻止我成功发送聊天消息.
// finishes auth process
文档中注明的过程与文档描述不符
(在我从Facebook收到基于SSL/TLS的成功消息后,我没有得到任何响应.)我还有一些帮助,用于添加xmpp_login权限等等..为了清楚起见,删除了.
全局变量:
public partial class Chat : Page
{
public TcpClient client = new TcpClient();
NetworkStream stream;
private SslStream ssl;
private string AppId { get; set; }
public string AppSecret { get; set; }
public string AppUrl { get; set; } …
Run Code Online (Sandbox Code Playgroud)