代码之家  ›  专栏  ›  技术社区  ›  TomTom

WCF,4.0,双向

  •  0
  • TomTom  · 技术社区  · 14 年前

    …现在.NET4.0有哪些选项,在某种程度上支持客户端的NAT(即NAT后面的客户端)。

    我更喜欢使用基于http的方式,但这是一个很弱的条件-我认为在中期我会在wcf之外进行一些非http的通信,所以我可以延迟代理遍历。

    在.net 4.0之前,存在一个问题,基本上服务器->客户端通道将从服务器打开,这使得nat成为不可穿越的。

    投票是不可接受的-我们在这里谈论时间敏感信息。

    那么,我现在有什么选择?

    2 回复  |  直到 11 年前
        1
  •  1
  •   John Grey    14 年前

    你可以从客户端打开一个连接并保持它打开。 或者将NAT上的端口转发到客户端,因此连接到NAT:34823将转到192.168.xxx.xxx:80。 或者给微软一些钱使用他们的服务总线,这还没有完全完成,未来也不确定。 或者做一些聪明的黑客,在客户端和服务器上安装skype,通过api发送消息。

        2
  •  0
  •   Shiraz Bhaiji    14 年前

    这不是特定于.NET 4.0的,但您可以使用Microsoft azure服务总线。

    如果你的申请需要 双向连接 实际上有两种选择:要么 你赌的是可用的解决方案 并承担后果(如 BitTorrent可以)或者你建立和 运行某种形式的中继服务 你的申请。接力服务 接受并维护来自 防火墙和/或NAT客户端和 在它们之间路由消息。 几乎所有的聊天,即时 信息、视频会议、VoIP, 和多人游戏应用程序 以及许多其他流行的互联网 应用程序依赖于某种形式的 中继服务。

    中继服务的挑战是 很难建造 以他们能提供的方式 他们需要的网络规模 上千条甚至更多的路线 数以百万计的联系 即时通讯网络可以。和 一旦你有一个可以支持的接力器 规模之大,价格之高令人难以置信 操作。太贵了事实上 所需投资和 由此产生的运营成本是 浩瀚无边 大多数软件公司。这个 连接挑战是一个真正的挑战 创新阻滞剂 重要的进入障碍。

    好消息是微软.net 服务总线提供一系列 双向对等 连接选项包括中继 沟通。你不必建造 你自己的或自己经营的;你可以使用 取而代之的是这个积木。.NET 服务总线包括四个逻辑 功能区域:命名、注册 连接和事件。

    http://vasters.com/clemensv/PermaLink,guid,92d78bee-2cfd-4a29-95ab-c5abb9b905e7.aspx