使用XMPP的数据传输 - 任何原因为什么不呢?

时间:2010-02-16 20:05:50

标签: .net communication xmpp protocols

我需要一种简单,轻量级的身份验证和数据传输机制(在.NET平台上)。我看过一个WCF和SOAP等,它们看起来都太重了,太复杂了我的需求。我需要一些简单而直接的东西来引导我使用像Jabber这样的聊天协议。我的数据传输大多数都很小 - 例如:用户搜索某些内容并获得一些结果等等。

鉴于Jabber进行身份验证,加密和你有什么,为什么我不应该使用它?关于候补人的建议?

由于

3 个答案:

答案 0 :(得分:1)

搜索结果听不到点对点(搜索往往与数据存储区共存是我猜的原因),在这种情况下,HTTP可能符合您的需求。用任何方式编写服务器并使用WebClient,为每个请求提供身份验证。如果您担心安全问题,可以使用摘要式身份验证。 XMPP的缺点是你必须担心保持连接,并且网络上有很多无关的信息。例如,存在,iq,协议协商。另外ejabberd(不确定其他人 - 是否有一个大的.Net XMPP服务器?)倾向于尝试协商SSL。

如果你不担心带宽,你可能不担心上述任何一个,但当然最简单的编程模型只是一个WebClient触发无状态请求。你永远不会断开连接,错误处理很简单。

OTOH你对上述评论的回应似乎暗示你可能有一些P2P元素,在这种情况下HTTP可能无法提供服务,除非你加入一点网络遍历和代理以将对等体作为公共地址公开给每个其他。 XMPP比那更简单。

我们有一个联网的演讲厅应用程序通过XMPP无缝传输750Mb / s。您可能会发现它可以处理负载。

我推荐服务器上的ejabberd(它是跨平台且令人难以置信)和客户端的agsXMPP。

答案 1 :(得分:0)

对于datatransfer,为什么不使用简单的普通HTTP?

答案 2 :(得分:0)

听起来像XMPP可能很合适,但你也应该考虑HTTP。如果您真的需要有状态的消息传递/传输,XMPP可能才有意义。对于长时间运行的连接,如果您使用例如HTTP,HTTP可以很好地工作Transfer-Encoding:chunked。