WCF,4.0,双向

时间:2010-05-07 07:05:17

标签: .net wcf nat bidirectional

... .NET 4.0现在有哪些选项,支持NAT为客户端(即NAT后面的客户端)。

我更喜欢使用基于HTTP的东西,但这是一个弱条件 - 我认为中期我会在WCF之外进行一些非http通信,因此代理遍历是我可能会延迟的。

Pre .NET 4.0之前存在一个问题,即基本上服务器 - >客户端通道将从服务器打开,这使NAT成为不可遍历的东西。

轮询是不可接受的 - 我们在此处讨论时间敏感信息。

那么,我现在的选择是什么?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

这不是特定于.net 4.0,但您可以使用Windows Azure Service Bus。

  

如果您的申请需要   双向连接你   有效地有两个选择:要么   你打赌可用的解决方法   并承担后果(如   BitTorrent确实)或你建立和   为...运营某种形式的中继服务   你的申请。中继服务   接受并维护来自的连接   防火墙和/或NAT-ed客户端   在它们之间路由消息。   几乎所有聊天,即时   消息,视频会议,VoIP,   和多人游戏应用程序   和许多其他流行的互联网   应用程序取决于某种形式   中继服务。

     

接力服务的挑战是   他们非常难以建造   以他们可以提供的方式   他们需要的互联网规模   数千甚至之间的路线   数以百万计的大联系   即时通讯网络。和   一旦你有一个可以支持的接力   这样的规模是非常昂贵的   经营。事实如此昂贵   所需的投资和   由此产生的运营成本   完全遥不可及的广阔   大多数软件公司。该   连通性挑战是真实的   创新阻碍者和代表一个   重要的进入障碍。

     

好消息是Microsoft .NET   Service Bus提供一系列服务   双向的,点对点的   连接选项包括中继   通讯。你不必建立   你自己的或经营自己的;您可以使用   相反,这个Building Block。互联网   Service Bus涵盖四个逻辑   功能区域:命名,注册表,   连通性和事件。

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