目前我正在用C#为Windows7编写一个小程序,它可以通过GCM(谷歌云信息注册)向我的Android智能手机发送通知。为此,我通过POST将一些数据发送到我的Web服务器,然后Web服务器通过GCM将数据推送到我的智能手机。这样做效果很好,但我也想从智能手机向我的程序发送一些数据。
我现在的问题是,我不知道如何从Web服务器通知我的C#程序。我想到了这样的东西:
Smartphone -> send Data to WebServer -> notify C# program
我不想使用轮询,GCM客户端仅适用于android智能手机。那么,你认为通知我的程序某些数据可用的最佳方式是什么?我读过一些关于HTTP流的文章,但我不知道它是如何工作的,也不知道是否可以用C#实现它。或者你对我如何解决这个问题有其他想法吗?
SignalR是一个不错的选择,但您也应该了解套接字编程的基本概念。C#使打开套接字和监听消息变得非常容易。Microsoft网站向您展示了如何在此处同步处理请求。
Http只是一个消息协议。一旦你理解了协议,阅读信息就不会太难了。请记住,如果您从服务器接收消息,它需要知道您的IP地址等。