从 WebServer 通知 windows 程序

Notify windows program from WebServer

目前我正在用 C# 为 windows 7 编写一个小程序,它可以通过 GCM(Google 云消息)向我的 Android 智能手机发送通知。为此,我通过 POST 将一些数据发送到我的 WebServer,然后通过 GCM 将数据推送到我的智能手机。这种方式效果很好,但我也想从我的智能手机向我的程序发送一些数据。

我现在的问题是我不知道如何从我的 Web 服务器通知我的 C# 程序。我想到了这样的事情:

Smartphone -> send Data to WebServer -> notify C# program

我不想使用轮询,GCM 客户端仅适用于 android 智能手机。那么,您认为通知我的程序某些数据可用的最佳方式是什么?我阅读了一些关于 HTTP 流的内容,但我不知道它是如何工作的,也不知道我是否可以用 C# 实现它。或者您有其他解决问题的方法吗?

SignalR 很不错,但您还应该了解套接字编程的基本概念。 C# 使打开套接字和侦听消息变得非常容易。 Microsoft 网站向您展示了如何同步处理请求 here

Http 只是一种消息协议。一旦您理解了协议,阅读消息就不会太难了。请记住,如果您从服务器接收消息,它需要知道您的 IP 地址等。