.NET Remoting - HttpChannel vs TcpChannel

时间:2010-01-22 16:35:15

标签: .net .net-remoting

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

4 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

  

TCP略快于HTTP; HTTP默认使用较慢的Soap格式化程序,TCP默认使用较快的二进制格式化程序; HTTP支持更快的二进制格式化程序 - 您只需选择它

来源:Factoids about HTTP and TCP remoting channels

答案 2 :(得分:1)

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

一般情况下,如果你想要速度,请选择TcpChannel,如果你想要灵活性,请转到HttpChannel。

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

答案 3 :(得分:0)

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

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