silverlight - 在线语音聊天 : Why client-server model vs. 点对点模式?

标签 silverlight chat voice p2p

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

当我想得更多时,我可以看到如果对话中涉及两个以上的对等点,C/S 可能会更好,然后服务器(据说具有更多带宽)可以更好地将每个对等点的传出流量中继到多个其他同行。在 C/S 多对多语音聊天中,每个对等方的上行宽带(这就是固有的瓶颈所在)只需承载每项语音流量一次,然后服务器将使用其优越的带宽将消息中继到多个其他同行。

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

一对一语音聊天 :

  • 我在上面的任何事情上都错了吗?
  • 点对点是最好的吗?
  • 服务器是否会提供仅客户端无法提供的任何有值(value)的东西
    程序?
  • 还有什么我应该考虑的吗?

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

    在此先感谢您的任何信息。

    最佳答案

    • 点对点是最好的吗?

    不,如果您在 LAN 环境中工作,但在 Internet 上,您需要 C/S 模型来处理客户端请求(客户端将在 NAT 之后)(服务器将在公共(public) IP 上),这很好。

    • 服务器会提供任何仅客户端程序无法提供的有值(value)的东西吗?

    是的,您无法与存在于 NAT 后面的客户端进行通信,并且如果他的 IP 不是静态的或未知的,因此最好的解决方案是 C/S 模型

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

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

    关于silverlight - 在线语音聊天 : Why client-server model vs. 点对点模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2569080/

    相关文章:

    php - 使用推送器将所有消息保存在我的服务器上

    c# - 从 WP7 中的网站解析数据

    silverlight - MEF 和银光 : How do I navigate to a page in another XAP?

    python - 使用 Python 向所有客户端广播 WebSocket

    database - 聊天/对话数据库

    c++ - 如何设置语音SAPI5

    c# - 处理 Windows Phone 8 silverlight 中的客户端 SSL 证书错误

    c# - 单元测试 RIA 服务

    windows - Windows 10 Powershell中未在System.Speech选项中显示已安装的文本语音转换语音

    c# - ASP.NET 具有视频和语音功能?