这只是一个开始,我在P2P方面探索更多,并在可伸缩性或其他任何方面找到原因:SIP或XMPP(Jingle)用于以下用例:
P2P客户端应用程序能够在所有网络遍历方案上执行文件传输。
//对于信令(例如,连接/定位/断开对等体),XMPP(Jingle)或SIP都可用。
我是否知道使用什么和为什么可能的原因?有实际用途吗?例如。;可伸缩性或任何真正对上述用例
产生影响的东西答案 0 :(得分:10)
Jingle是处理多媒体会话的XMPP扩展程序。实际上,Jingle是SIP的XMPP等价物。
就P2P文件应用程序而言:
就可扩展性而言,Jingle和SIP大致相同。两者都将信令和媒体分开,从而为服务器端组件的部署方式提供了更大的灵活性(并因此也带来了复杂性)。
XMPP / Jingle具有更好的安全设计,使得使用SSL信令层实施客户端更加实用。 SIP确实支持SSL,但它更复杂,并且在现实世界中也没有得到广泛的支持,
就NAT而言,你们两个都会遇到同样的问题。当涉及NAT时,从单独的信令和媒体路径获得的可扩展性又回来了。有一些不同的机制可以处理NAT,最新的尝试是ICE。 ICE是尝试和解决不同NAT配置的不同机制的集合,值得记住的是,并非所有配置都可以解决,而后备是使用媒体代理服务器,例如TURN。
如果我是你,我会使用XMPP但在开始之前我会确切地知道需要支持哪些NAT配置。如果您需要从互联网上的任何地方支持任意客户端,那么您将无法始终能够在您的客户之间建立直接的P2P通信,而这将是您面临最大挑战的地方。