0

我有一台运行 Windows 6.0 的手持扫描设备。当人们进出建筑物时,手持设备负责在室外固定位置扫描条形码。此应用程序的主要关注点是让人们尽快进出。

现在,手持设备正在与厚混凝土墙后面的另一栋建筑物中的计算机进行通信。它所做的只是连接到一个套接字,发送条形码信息,并接收一个小的 xml 文件作为响应。

您认为处理应用程序没有收到强信号的最佳方法是什么?我应该让操作系统处理警告和可能的断开连接,还是应该监视应用程序并在信号强度在定义的时间段内降至 1 bar 时将其关闭?

让操作系统处理所有事情的问题在于,我不知道用户是否会启用低信号强度警告。再加上如果是弱信号,而用户继续使用应用程序,会大大拖慢队列速度。

如果我自己关闭它,我至少确保用户必须停止使用应用程序并切换到手动方法,但缺点是如果微弱信号只是异常,那么我已经断开了应用程序,现在我已经让用户有责任每隔几分钟尝试重新连接并查看它是否有效。(一旦连接丢失,无法自动恢复,需要用户输入)。

这是我为手持设备制作的第一个应用程序,所以我不确定解决此类问题的标准方法是什么。有什么建议吗?

4

3 回答 3

2

需要考虑的一件事是无线路由器上的天线更好(谷歌会提供很多选择)。一些设备也可以接受外部天线,无论是本机还是通过硬件破解。

在软件方面,也许可以考虑在状态区域显示警告,指示信号强度较弱,并建议手动方法,直到获得更好的信号强度。我当然会把它留给用户来决定如何进行。没有什么比试图比用户更聪明的软件更让最终用户恼火的了。

于 2009-08-13T16:49:04.077 回答
0

你对结果做什么?

如果没有,您可以将扫描的条形码添加到某种队列中,这样您就可以在另一个线程上处理队列时立即扫描下一个。

于 2009-08-13T16:55:33.530 回答
0

一个好的方法可以是您的连接的心跳算法。只需使用您的套接字向您的服务器发送一个“ping”,然后等待“pong”。

在生产环境中,您可以调整 ping 超时以准确检测连接丢失或对您的应用程序不利的情况。

于 2009-08-13T17:49:39.883 回答