在线语音聊天:为什么客户端 - 服务器模型与点对点模型?

时间:2010-04-02 20:41:35

标签: silverlight chat voice p2p

我正在向Silverlight应用添加在线语音聊天。我一直在审查通过在线搜索和论坛找到的当前应用程序,服务和SDK。我发现其中大部分实现了客户端 - 服务器(C / S)模型,我试图理解为什么该模型与点对点(PTP)模型。对我来说PTP会更好,因为在对等体之间直接进行会更有效率(更少的IP跃点和服务器计算机沿途没有处理)并且不需要服务器及其成本和依赖性。我发现有些产品能够在PTP证明不足的情况下从PTP切换到C / S.

正如我想的更多,我可以看到,如果对话中涉及两个以上的对等体,C / S会更好,那么服务器(假设带宽更多)可以更好地传递每个对等体传输到其他多个对等端的流量。在C / S多对多语音聊天中,每个对等体的上游宽带(本身就是瓶颈)只需承载一次语音流量,然后服务器就会利用其优越的带宽将消息转发给多个其他同行。

但是,在一对一语音聊天的情况下,PTP似乎是最好的。服务器不会降低两个对等设备的带宽要求,只会增加不必要的开销,依赖性和成本。

一对一语音聊天

  • 我误解了上面的任何事情吗?
  • 点对点最好吗?
  • 服务器是否会提供仅由客户端提供的任何有价物 程序?
  • 还有什么我应该考虑的吗?

最后,您能推荐任何Silverlight PTP或C / S语音聊天产品吗?

提前感谢任何信息。

2 个答案:

答案 0 :(得分:1)

•点对点是最好的吗?

如果你正在开发局域网环境但是在互联网上你需要C / S模型来处理客户端请求(客户端将在NAT后面)(服务器将在公共IP上)

•服务器是否会提供仅由客户端程序无法提供的任何有价值的内容?

是的,您无法与NAT后面的客户端通信,如果他的IP不是静态的或未知的,因此最佳解决方案是C / S模式

你能推荐任何Silverlight PTP或C / S语音聊天产品吗?

是检查此项目:http://www.socketcoder.com/ArticleFile.aspx?index=2&ArticleID=70为C / S模式

答案 1 :(得分:0)

嗯,我不能说一些工具使用CS模型而不是PTP模型的一般原因。

然而,PTP会要求一个或两个对等体打开一个端口进行监听,以便另一个对等体可以连接。据我所知,Silverlight不支持侦听传入连接请求的能力。

因此,Silverlight CS是唯一可用的解决方案。