0

我正在编写一个应用程序,它在一天中连接并不断与我们的服务器通信。

在这一天,用户可能会或可能不会失去他们的连接,超出范围等我想知道处理这些实例的最佳方式是什么,关于我的代码行为方式以及我通知用户的方式。

4

2 回答 2

1

尝试通过 Internet、WiFi 可达性的示例(KSReachability)查看此来源

KS可达性

可达性

于 2012-11-20T01:39:12.820 回答
1

*注意:我假设您想通过 HTTP 执行网络操作

读取

对于读取的数据,这取决于您对数据变化速度的假设。

对于可变数据(预计每天更改几次的数据),请使用 SDURLCache。SDURLCache 提供 HTTP 本地缓存。如果你将它与 AFNetworking 连接起来,那么它也会遵守标准的 HTTP 缓存行为(过期标头、etag 等)。

对于“静态”数据,您可以将数据与应用程序本地捆绑在一起,并通过 HTTP 定期检查更新。

在任何一种情况下,您都应该尝试(如果可能)将一些数据与应用程序打包,以便在安装应用程序的那天,它可能根本不需要网络连接来运行。

对于写入,处理此问题的最佳方法是将所有写入排队并在适当的时间发布它们。实现队列相对简单,很大程度上取决于如何在本地存储东西。一种方法是在 SQLite db 表中设置标志以指示需要发布到服务器端的数据元素。另一个可能是构建文档并将它们写入磁盘,当有连接时,有一个单独的调度线程将它们发布到服务器端。

于 2012-11-20T01:42:35.393 回答