读取二维码的最快方式客户端与服务器端
本文关键字:方式 客户端 服务器端 二维 读取 | 更新日期: 2023-09-27 17:58:14
我正处于一个涉及二维码的应用程序的设计阶段。这将是一场用户看到二维码并扫描它的比赛。第一个扫描二维码的用户获胜。
因为比赛是先到先得的,我想确保第一个扫描代码的用户是赢家。我注意到(至少从我读到的内容来看)有Javascript和C#读取二维码的方法(有JQuery方法吗?)。
哪种方式最快/最公平/最有效?假设会有很多人同时扫描二维码。我想确保第一个扫描它的人是赢家,而不是因为他的请求处理得不够快而陷入问题。
我想我要问的真正问题是:当有很多用户在一个应用程序上尝试一个操作时,客户端或服务器端的方法会更好吗?这些差异会像我担心的那样产生影响吗
- 捕获图像
- 将图像转换为文本
步骤1必须在客户端上完成。
然后就变成了"客户端CPU功率+发送文本数据的时间"与"服务器CPU功率(客户端之间共享)+发送图像数据的时间。"的问题。
客户端CPU功率是可变的。带宽是可变的。延迟是可变的。如果你想在服务器上解码,你需要为每个用户提供更多的CPU功率和带宽。
当然,如果你采用"发送图像"的方法,你可以测量图像上传而不是解码的时间。
所以,总结一下:
客户端还是服务器端的方法工作得更好?
总有一段时间两者都会。
无论哪种方式,解码图像的过程都需要一些时间,这取决于客户端CPU或网络速度。
一旦在客户端上捕获了图像,就可以向服务器请求令牌/时间戳。这将是一个很小的请求,所以网络速度不会对它产生太大影响。然后,您可以继续在客户端上解码图像,或者将i发送到服务器进行解码。
如果两个用户在时间上接近,您就知道是哪个用户首先从他们的令牌中捕获了图像。
在现代智能手机上,检测和解码二维码可能在100毫秒内完成。我怀疑客户端的可变性会产生任何有意义的不公平。但是,我当然认为客户端的可变性小于网络可变性,网络可变性在上传图像而不是解码客户端时会发挥作用。