Chat 聊天应用程序:pubsubbub vs xmpp
我不确定构建聊天应用程序的最佳堆栈。目前我在考虑两个主要的选择:Chat 聊天应用程序:pubsubbub vs xmpp,chat,xmpp,tornado,websub,Chat,Xmpp,Tornado,Websub,我不确定构建聊天应用程序的最佳堆栈。目前我在考虑两个主要的选择: facebook龙卷风 缺点:不使用主聊天协议xmpp,但使用pubsubhubbub 优点:我非常喜欢它的开发简单性(webserver+webframework);pubsubb作为一个协议似乎比xmpp更简单;我知道python xmpp+博世、旁遮普、埃贾伯德 缺点:不知道二郎;总的来说,发展起来似乎有点困难 优点:使用xmpp协议 聊天应用程序需要具备以下功能: 私人信息 公共房间 包间 聊天室的聊天历史记
- facebook龙卷风
- 缺点:不使用主聊天协议xmpp,但使用pubsubhubbub
- 优点:我非常喜欢它的开发简单性(webserver+webframework);pubsubb作为一个协议似乎比xmpp更简单;我知道python
- xmpp+博世、旁遮普、埃贾伯德
- 缺点:不知道二郎;总的来说,发展起来似乎有点困难
- 优点:使用xmpp协议
- 私人信息
- 公共房间
- 包间
- 聊天室的聊天历史记录(不是永远的,只是最后n条消息)
- html嵌入
- 聊天室的url
您正在开发一个聊天应用程序,这就是XMPP的用途。Facebook Tornao根本不使用PubSubHubbub 选择XMPP,它是为您所寻找的东西而设计的。Tornado并不是专门为这种情况而设计的,而是为一般的长轮询请求而设计的 不需要使用旁遮普语,ejabbed http绑定模块现在做得很好。此外,您不需要学习Erlang,就像编写使用Apache的Web应用程序时不需要学习C一样:)查看类似的内容。你唯一需要使用的是XMPP服务器和聊天室的配置,然后是客户端(在浏览器中)的Javascript。pubsubbub(推送)从一开始就不适用于聊天应用程序。它有时被称为“网络即时通讯”。我建议你看一下这张幻灯片: 真正的问题是你想获得多大的实时性?如果你想要速度,那么XMPP是最好的选择。(500毫秒),而推送取决于你的馈送和它的中继方式。记住,在内容到达订户之前,推送总共需要4次网络跳数
更大的问题是推送依赖于HTTP Post。即使你最终设计了一个基于推送的聊天应用程序,比如说在以后的阶段,你想让它可用于其他设备,甚至作为桌面应用程序,你也必须使用XMPP转发相同的内容。您将失去的另一个地方是,您的聊天应用程序用户很难从他们选择的任何其他IM登录。如果您不需要通过XMPP进行联合,但希望快速原型化和部署,以及开箱即用的可扩展性,看一下Lift web框架的示例。您可以将REST API与WebSocket结合使用来实现发布者/订阅者体系结构 并且是很好的java框架,您可以将其插入RESTAPI并实现这一点
Atmospehre创始人jfarcand的博客中有一个是用这些技术构建的。谢谢。Aristochat看起来很有希望。同时也发现了Speeqe()。我会把它们都查出来的。根据这张照片,龙卷风使用的是pubsubhubbub。Strophe看起来不错(Aristochat也使用它)。谢谢:)注意,pubsubbub(PuSH)甚至与XMPP不太接近。PuSH是一个非常基本的发布-订阅协议,它与身份验证非常相似。XMPP是如此之多,以至于它不适合在这个评论框中。