客户端(桌面应用程序)提取数据......但我希望服务器(Web应用程序)推送数据

Sam*_*eet 6 architecture client-server server-push .net-2.0

我有一个客户端 - 服务器应用程序 - 其中服务器本质上是一个ASP .NET Web应用程序,分布式客户端是桌面应用程序.

当客户端有新数据时,客户端需要从服务器接收一些数据.现在,这样做的方式是 - 客户端每x分钟(比如说2分钟)不断查询Web服务,并不断检查客户端是否有新数据.

理想情况下,它应该工作的方式是桌面应用程序应该在可用时接收更新,它不需要从服务器拉出; 相反,服务器应该能够推送到客户端.

我如何做到这一点 - 考虑到解决方案的架构 - Web应用程序需要将数据推送到同一网络(LAN)中的桌面应用程序(客户端)?

Jen*_*fke 7

您所描述的是"服务器推送",这些日子通常被称为"COMET".在网络搜索中使用这些关键字应该会提供很多有用的信息.

最常见的技术称为"悬挂GET".客户端向特定URL发送GET请求,服务器接受连接,但延迟发送响应,直到有数据要发送.当客户端收到响应时,它会发送另一个GET,以便它准备好发送另一条消息.