好...
我正在使用移动应用程序和 Web 服务器。
我的 Web 服务器的一个特点是它随机生成不同的数据集。换句话说,我无法预测服务器何时将准备好数据发送到移动应用程序。
另一方面,移动应用程序需要接收服务器生成的所有数据。可以多次请求一种方法来获取所有这些数据。确实,这不是一个好方法,因为我不知道何时请求数据。
例如,如果移动应用程序可以在一个启动请求或保持连接后侦听服务器,则服务器可以随时发送任何一组数据。
问题是:什么协议适合这种情况?我怎么能用那个?例子?
谢谢!
好...
我正在使用移动应用程序和 Web 服务器。
我的 Web 服务器的一个特点是它随机生成不同的数据集。换句话说,我无法预测服务器何时将准备好数据发送到移动应用程序。
另一方面,移动应用程序需要接收服务器生成的所有数据。可以多次请求一种方法来获取所有这些数据。确实,这不是一个好方法,因为我不知道何时请求数据。
例如,如果移动应用程序可以在一个启动请求或保持连接后侦听服务器,则服务器可以随时发送任何一组数据。
问题是:什么协议适合这种情况?我怎么能用那个?例子?
谢谢!
您可以创建到服务器的持久 TCP/IP 连接并永久侦听传入数据(使用自定义协议或可能基于 websocket 的东西)。但是,如果用于移动设备,这种永久连接可能会严重影响您的电池寿命。如果操作系统因为内存不足而自动关闭您的应用程序,您也将失去连接。
此问题的默认方法是推送通知/推送服务,您的服务器将有关新数据的通知发送到电话提供商的服务器(例如 Microsoft 或 Apple 推送服务器),然后该服务器发送通知(以及来自其他在线服务)到您的手机。Windows Phone 的一些信息:http: //msdn.microsoft.com/en-us/library/hh221549.aspx http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff402558%28v=vs .105%29.aspx
根据您获得新数据的频率,这两种方法都可能有意义。
WebSockets 可能是答案:http ://en.wikipedia.org/wiki/WebSocket
具体来说,对于 Windows Phone,还有一个解决方案:http: //msdn.microsoft.com/en-us/library/windowsphone/develop/ff402558 (v=vs.105).aspx