【问题标题】:.NET Remoting - HttpChannel vs TcpChannel.NET 远程处理 - HttpChannel 与 TcpChannel
【发布时间】:2010-01-22 16:35:14
【问题描述】:

我是 .NET Remoting 的新手,对可以使用的不同通信渠道不是很熟悉。我知道有开箱即用的 HttpChannel 和 TcpChannel。我知道一个是Http,另一个是Tcp,但我不明白为什么Tcp更快。

【问题讨论】:

标签: .net .net-remoting


【解决方案1】:

HTTP 通道必须创建一个巨大的(相对而言)标头并解析复杂的响应。上的 TCP 通道使用高效的二进制协议,每个请求的开销要少得多。

【讨论】:

    【解决方案2】:

    Tcp 速度更快的原因是它使用二进制作为跨线数据传输的手段,通过 TcpChannel,您可以使用 1024 以上的任何端口号(前 1024 个端口被保留)。而对于 HttpChannel,它使用端口 80,与您的 Web 浏览器共享的标准端口,如果您想使其与其他服务灵活使用,则使用 HttpChannel。此外,通过 HttpChannel 传递的数据被编码为文本,这使其速度较慢,例如,如果您要检索图像,则必须首先将该图像编码为 Base64 数据格式并进行传输。

    一般来说,如果你想要速度,就选择 TcpChannel,如果你想要灵活性,就选择 HttpChannel。

    希望这会有所帮助, 最好的祝福, 汤姆。

    【讨论】:

    • 你知道Remoting是否应该能够支持多个HttpChannel?
    【解决方案3】:

    TCP 比 HTTP 稍快; HTTP 默认使用较慢的 Soap 格式化程序,而 TCP 默认使用较快的 Binary 格式化程序; HTTP 支持更快的二进制格式化程序 - 你只需要选择它

    来源:Factoids about HTTP and TCP remoting channels

    【讨论】:

      【解决方案4】:

      Tcp 更快,因为它是一个更快的协议。

      Tcp 是一种较低级别的协议,可以建立安全可靠的连接。 Http 更易于使用,因为您可以将其从浏览器发送到 Web 服务器。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-12-24
        • 2010-10-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多