我想在智能手机应用程序和网站之间传输数据。有哪些传统和不那么传统的做法?
到目前为止,这是我的想法:
- 简单的 HTTP GET/POST 数据被表示为 JSON 数组字符串,其变体被加密/压缩字符串作为参数。
- Web服务调用(我不确定这是否可能,只是猜测)
- 两步通信:智能手机往返桌面应用程序往返网站)(开发/使用繁琐)
另外,我需要考虑什么来避免垃圾邮件/窥探?
我想在智能手机应用程序和网站之间传输数据。有哪些传统和不那么传统的做法?
到目前为止,这是我的想法:
另外,我需要考虑什么来避免垃圾邮件/窥探?
我认为前两个几乎相同。如果您要发送大量数据,您想要做的是 HTTP Post,或者如果数据量较少,您想要做的是带有查询字符串的 GET。这一切都将是未加密的传输,因此在使用 HTTP 时请记住这一点。
如果您的目标是令人信服、安全和易于开发。我会让客户端(电话)使用 POST 通过 HTTPS 向服务器发出请求。发送的数据应该是您的目标系统可用的任何库。不错的选择是 URL 编码参数、XML 和 JSON。避免使用二进制协议。
这种方法的缺点是使用从设备到 Web 服务的网络连接可能不可用或价格昂贵,这取决于用户的计划。(随着当前的智能手机浪潮(iPhone/gPhone/Blackberry 等),这种情况变得越来越少)这也是一个轮询接口,因此将数据从服务器推送到手机是很棘手的,并且依赖于用户发起一些操作。
根据电话平台的不同,您还可以使用 SMS 进行双向通信。这里的限制是隐私、带宽和成本。根据用户计划,SMS 发送 ip 数据的成本更高。(有时是接收)双向技巧是通过在电话应用程序中注册一个 SMS 挂钩来执行的。因此,当收到某个 SMS 时,应用程序可以自动启动并通知。
请发布其他信息,例如目标平台,我可以讨论更多选项。
如果您使用 .NET Compact Framework 并为 Windows Mobile 进行开发,最简单的方法是使用 Web 服务。但是,.NET Web 服务将所有内容序列化为冗长的 XML,这使得来回发送的数据的大小超出了必须的大小。使用 JSON 是一种减少数据大小的好方法,即使在使用 .NET Web 服务时也是如此(诀窍是将整个 JSON 文档作为单个参数发送)。最小化传输数据的大小对于智能手机应用程序尤其重要,因为您的数据传输可能会通过蜂窝网络完成。