【问题标题】:Does the WCF HTTP binding run on TCP?WCF HTTP 绑定是否在 TCP 上运行?
【发布时间】:2013-01-26 19:23:44
【问题描述】:

我试图了解 WCF 中标准绑定之间的区别。作为其中的一部分,我正在阅读WCF Bindings in Depth。图 2 显示了传输是 HTTP 的绑定和一些是 TCP 的绑定。我很困惑 b/c 我认为 HTTP 是一个应用程序级协议,而不是一个传输协议——而且 HTTP 运行在 TCP 之上。那么通过将其称为 HTTP 绑定,我们是否可以理解它实际上是在 TCP 之上的 HTTP 上运行的?

【问题讨论】:

  • 对于其他可能有相同问题的人,请谷歌以下内容:八位字节、以太网帧、IP 数据包、TCP 段、HTTP。另见vlsm-calc.net/models.php。我的问题源于没有真正理解这些基本概念。

标签: wcf http tcp wcf-binding


【解决方案1】:

所以通过称它为 HTTP 绑定,我们是否理解它是 实际运行在 TCP 之上的 HTTP 上?

是的,没错。但这是隐含的。因为 HTTP 运行在 TCP 之上。

二进制绑定(例如netTcpBinding)直接在 TCP 上运行。他们根本不使用 HTTP。

【讨论】:

    【解决方案2】:

    tcp/ip 包含 4 层:

    application
    transport
    network
    data link
    

    您可以使用任何层,但 wcf 具有使用传输层和应用层的绑定,f.e. netTcpBindingwsHttpBinding

    tpc/ip 不在同一个 tcp 层

    application layer protocols f.e.: HTTP, RTP, FTP, DNS
    transport layer protocols f.e.: TCP, UDP, SCTP, DCCP
    

    所以http可以基于UDP协议,它将是wsHttpBinding 或者如果你选择 tcp 它将是netTcpBinding,这个层在 http 的下面,并且应用程序是多余的

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-08
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-07
      • 2014-02-14
      相关资源
      最近更新 更多