使用WCF(或类似)从服务器到客户端的推送通知



我敢肯定这是多次回答的,但是我对要搜索的关键字有所不足,因此我希望有人至少能告诉我我应该在哪里看起来可以解释我的场景。

我需要两个服务(如果更容易,可以只是客户)互相交谈,但是客户端将在专用网络上,而服务器将在Internet上。我希望能够将作业推向客户端,但是服务器显然没有IP来击中客户端。我宁愿不每x秒钟对客户进行调查。我已经阅读了各种绕过这个问题的主题,所以我将抛出一些我认为相关的术语,但是我不确定该使用哪个或确切的方式。

彗星,信号,Websockets,Xsockets,Publisher/订阅者模式...

我已经看了看来,我不确定哪个是正确的方法。客户端当然可以在启动时"订阅"服务器,因此这不是问题。但是客户端应该是控制台应用程序,Windows服务或WCF服务。似乎Comet和SignalR更适合ASP.NET应用程序,其中客户端是浏览器中的JS。我只需要"服务器(client)"到客户端在防火墙后面的服务器连接。

以下哪个术语(或没有一个)是处理服务器 ->客户端推送通知的好方法?

带有Azure Service Bus之类的东西的Pub/子体系结构模式应帮助您创建所需的解决方案。这确实需要服务,并且客户知道公共汽车。对于客户和服务的管道,使用具有绑定的WCF来促进这种模式的使用。

Azure:如何使用服务总线主题/订阅。Azure SB也有一个在本机上工作的反应部分。还有其他流行的消息总线技术(NServiceBus,Mastransit等)

您可以与socket.io一起查看node.js。这将提供您需要的一切。

socket.io使用Web插座,如果浏览器不支持Web插座,它优雅地归还到其他通信机制,例如XHR,Flash,Polling,ASO。