WCF Intermediary在没有路由器配置的情况下启用路由器后面的2个端点之间的呼叫

时间:2011-01-11 11:30:27

标签: wcf

我正在使用WCF和Sync Framework开发同步服务,当端点可以直接通信时,我可以使用它。

我需要实现的下一步是同步2个端点,它们都在路由器后面,路由器ip不断变化。我正在考虑一个可以在2个端点之间转发呼叫的公共中介。我最大的问题是我不能依赖用户在路由器上配置端口转发,因此我无法直接从其他端点或中间设备打开连接。

我的想法是基于FogCreek的CoPilot和其他远程协助解决方案(LogMeIn,TeamViewer等),无需任何路由器配置即可运行。

你会如何实现它?

1 个答案:

答案 0 :(得分:0)

您需要Azure中的中继功能。我会尝试这样实现它:

您的中间人将提供两项操作:

  • 推送 - 客户端将在发布新数据以进行同步时调用此操作。数据将存储在服务中,直到其他客户端下载它们。
  • Pull - 客户端将定期调用此操作以下载存储在中介上的任何已发布数据。

更改IP的路由器不应该是一个问题,因为客户端将始终启动连接。

如果您不限于HTTP协议,则可以使用Net.Tcp绑定实现此功能并使用双工通信。在这种情况下,您的中间人将能够立即转发同步数据。但是,在处理会话和连接时,此解决方案可能会有额外的复杂性。