2

我想编写一个“侦听”服务器推送的应用程序.. 即服务器可以广播.. 我想通过一个开放的 Web 请求来执行此操作,该请求包含一个包含数据库值并返回数据库值的 php 页面。 . 这样如果数据库发生变化.. 值发生变化,这意味着 C# 应用程序知道触发某种类型的启动(在我的情况下,它是一个“刷新”请求)99.99% 的这项工作是通过这个刷新请求完成的。我只需要知道..如何从服务器实现“触发器”或“事件”...这个(我知道)的标准方法是轮询 x 秒,但我知道适当的事件驱动架构非常好..

请记住,这与 IIS 无关……这是一个需要“侦听”Web 服务器的 Windows 客户端 C# exe。有没有人们知道的好的代码示例?

4

1 回答 1

1

HTTP 是一种请求/响应协议——没有“推送”。常见的历史解决方法是频繁轮询和长轮询,但现在 web-sockets 是另一种选择。您可以使用来自客户端应用程序的 Web 套接字:在 Windows 8 / Server 8 上的 .net 4.5 中,框架中有一个内置客户端,但根据规范中的原始 TCP 编写一个客户端并不难(或者只是看看对于现有的客户端库)。Web-sockets 支持双向通信,因此服务器可以自发地向客户端广播。非常适合及时更新。

当然,您还需要一个 web-socket 服务器实现,但这适用于大多数平台和工具集。

于 2012-10-28T09:09:16.610 回答