2011-01-11 74 views
0

我正在开发使用WCF和Sync Framework的同步服务,并且在端点可以直接通信时使其工作。WCF中间层在路由器后面的2个端点之间启用无路由器配置的调用

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

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

你将如何实现它?

回答

0

您需要类似于Azure中的继电器。我想尝试实施这种方式:

您的中介将提供两种操作:

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

IP变化的路由器不应该是个问题,因为客户端总是会启动连接。

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

+0

由于Sync Framework的实现,我无法使用断开连接的解决方案。我会尝试按照您的建议使用双工通信来实现它。我会回到我的结果。谢谢! – Emanuel 2011-01-11 13:18:50