并不是快, 而是多.
有一个桶, 桶里可以装1L水, 开始抢购的那一瞬间, 桶的盖子被打开了. 理论上每个人都在往桶里倒水, 每次只能倒一滴. 最后装满的时候, 抢购结束.
抢购软件要做的就是, 在抢购开始之前就一直不停的倒水. 普通页面的请求(也就是普通用户点击),一次也是只能倒一滴. 但是普通用户再次刷新页面需要的时间会比较多.
但是大家距离桶的距离是不一样的, 有的人0.01秒就能到达服务器(水桶). 有的人0.02 或者 0.5 秒. 这个时间差不是固定的, 换句话说, 你在页面点击, 看着是时间已经到了, 可能水桶还没有打开, 只是页面看着可以点击按钮(倒水)了. 也或者是你看着时间已经到了, 但其实水桶已经在1秒钟前打开了. 这两种情况下, 你都无法达到你的目的 : 把水到进桶里. (抢购成功)
除非你可以完全同步你跟水桶的时间, 但这是不可能的. 人类是无法控制时间的, 也是不能精准的点击页面发起请求的. 你倒水的距离是一部分原因. 你再次倒水的时间间隔也不快. 但是如果用抢购软件, 他们在水桶还没有打开的时候, 就已经在往里倒水. 就像一个水流. 并不是他的速度快, 而是数量多. 虽然会造成水的浪费. 但是其实没什么影响. 当成为水流的情况下, 这种时间同步的问题就不存在了. 因为间隔太短, 且量又很多.
这种接口类的需要有一些简单的代码能力. 如果你了解服务器接口的话, 你就能明白, 其实这个快不快没什么关系. 普通人只有在页面放开限制的时候, 才能点击按钮. 但是软件, 可以从30秒, 甚至一分钟前就开始点击页面了. 因为你点击页面,其实是通过调用页面的 JavaScript 来达成发起请求的目的. 他们直接跨过了页面, 直接在发请求而已. 少去的这部分时间也是不能弥补时间差的. 但是形成流就不一样了.
都是求软件的...
我不会, 我不会, 我不会
我没有, 我没有, 我没有
- 相关评论
- 我要评论
-