我正在重新设计一个我继承的应用程序,它将数码照片从笔记本电脑发送到网络服务器。这个想法是“在现场”拍摄照片并立即将它们发布在网页上(具有一些更花哨的功能)。
典型场景
1. 使用标准 USB 将照片从相机传输到笔记本电脑。
2.照片经过各种处理。(不重要)
3. 每张照片都使用 Web 请求以小块(每张约 64 kb)的形式发布到标准 Apache 网络服务器,然后再次合并在一起。
当前设计的问题是,当网络连接不可靠时,它经常会挂起。由于我们使用的是移动网络 (3G),并且经常无法覆盖,因此我需要一种方法来正确处理此问题。
我的问题是是否有更好的解决方案可以在连接不时断开时不会使应用程序挂起。
(额外的问题是如何在不必带着笔记本电脑徒步旅行的情况下进行正确的单元测试。)
编辑 2008-11-24:我现在已经设法使用 NetLimiter 和 TMnetsim(免费软件)的组合为此设置了一个适当的测试环境。我尝试设置 5 kb/sec 并丢弃所有数据包的 1% - 我的应用程序仍然适用于新设计。
编辑 2008-12-11:只是为了更新我是如何做到这一点的。我创建了一个后台工作人员(如下所示),每当检测到相机时就会启动该工作人员,以将照片从相机复制到 PC。然后,当文件到达 PC 以使用异步 HTTP 传输上传时,我启动了另一个后台工作人员。把所有事情都做好肯定很痛苦,特别是因为操作应该随时“可取消”……但无论如何,现在它可以工作了。非常感谢所有帮助过我的人!