C# 服务器和 Windows Phone 之间的正确通信方式是什么?



好的,所以我有一个C#服务器和一个充当客户端的Windows Phone应用程序。客户端必须修改服务器上的设置,从服务器接收图像(可能是视频流)并从服务器接收通知(最好的方法是即时的,例如当有人在Facebook上向您发送消息并且您立即收到通知时)。

我已经设置了服务器和客户端,以便它们进行通信,它们相互发送一个使用 XmlSerializer 序列化的对象(它目前仅包含一个带有公共 get/set 方法的公共字符串字段)。它们通过插座连接。如果我只想在它们之间发送简单的消息,这很有效,但我认为当我想获得即时通知和图像/视频流传输时,我会遇到问题。我将如何以正确的方式继续我的工作?

考虑使用 RESTful 或 SOAP 服务通过 Web 服务设计 API 解决方案。就个人而言,我建议使用RESTful Web服务。以下是一些关于 REST 的启动链接:

  1. http://www.codeproject.com/Articles/255684/Create-and-Consume-RESTFul-Service-in-NET-Framewor
  2. http://www.codeproject.com/Articles/148762/NET-4-0-RESTful-Web-Service-Introduction
  3. http://www.codeproject.com/Articles/21174/Everything-About-REST-Web-Services-What-and-How-Pa
  4. http://msdn.microsoft.com/en-us/library/dd203052.aspx

这是MSDN中另一篇有用的文章,它比较了WCF REST和WCF SOAP:http://msdn.microsoft.com/en-us/library/vstudio/hh273094(v=vs.100).aspx

我认为

如果您正在寻找客户端和服务器之间的双向通信,那么使用套接字是要走的路。

至于图像,

您不需要发送实际图像。您只需将 URL 传递给它,然后使用专门用于该的类之一下载它。

对于近乎即时的通知,您还可以查看推送通知。

当然,如果您

真的不需要服务器将数据推送到客户端,那么如果您按照其他人的建议使用 REST API,它会简单得多。

最新更新