我正在向Silverlight应用添加在线语音聊天。我一直在审查通过在线搜索和论坛找到的当前应用程序,服务和SDK。我发现其中大部分实现了客户端 - 服务器(C / S)模型,我试图理解为什么该模型与点对点(PTP)模型。对我来说PTP会更好,因为在对等体之间直接进行会更有效率(更少的IP跃点和服务器计算机沿途没有处理)并且不需要服务器及其成本和依赖性。我发现有些产品能够在PTP证明不足的情况下从PTP切换到C / S.
正如我想的更多,我可以看到,如果对话中涉及两个以上的对等体,C / S会更好,那么服务器(假设带宽更多)可以更好地传递每个对等体传输到其他多个对等端的流量。在C / S多对多语音聊天中,每个对等体的上游宽带(本身就是瓶颈)只需承载一次语音流量,然后服务器就会利用其优越的带宽将消息转发给多个其他同行。
但是,在一对一语音聊天的情况下,PTP似乎是最好的。服务器不会降低两个对等设备的带宽要求,只会增加不必要的开销,依赖性和成本。
一对一语音聊天:
最后,您能推荐任何Silverlight PTP或C / S语音聊天产品吗?
提前感谢任何信息。
答案 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是唯一可用的解决方案。