从程序员角度讲 红包 应该不是抢出来的吧?

2015-02-11 16:20:06 +08:00
 jason52
那红包像土拨鼠一般冒出来,真的是你手快点出来的?

我觉得肯定不是吧。那一秒钟得要多多少少http连接啊。肯定是你连上那会儿,就给你id赋值了一个随机数,,有就有,没有就没有吧。

就像双十一挂卡,肯定是每次刷新服务器返回一个随机数,然后这个随机数有个布尔属性。

我又想了一下,今天这个数据结构设计可能还不是我上面所说的。应该返回一个key,value对应一个大数组,数组存的全是布尔量,就一个1,其他全是零,对应一个个红包。你要没点到1的红包,奖金再返回奖池。

不知道是不是这样设计的,大家来讲一讲这个具体问题的数据结构实现,不要水嘛~~~
5512 次点击
所在节点    程序员
28 条回复
djchurch007
2015-02-11 16:23:08 +08:00
前端数据是不可信的~~
djchurch007
2015-02-11 16:24:16 +08:00
长链接耗资源~~
jason52
2015-02-11 16:25:12 +08:00
@djchurch007 那你说应该是怎么实现这个问题呢
learnshare
2015-02-11 16:27:33 +08:00
进去之后,就已经确定你是否能拿到了。然后就是让你花点时间在客户端自己玩玩游戏
acros
2015-02-11 16:27:50 +08:00
应该开抢前就随机决定本地有没有实际红包了吧,没点开就视作放弃?
djchurch007
2015-02-11 16:31:14 +08:00
@jason52 没抓包,不知道怎么实现的。
你说那种也可行,就是不安全,容易被外挂刷。
人家用你那种实现的也不一定,岁月告诉我,不要被大公司的外表所迷惑>_<
AssKicker
2015-02-11 16:35:02 +08:00
@learnshare 这位哥们正解
djchurch007
2015-02-11 16:37:06 +08:00
@learnshare 如果是这种思路,是不是得加个万一不高兴玩的判断>_<
brightzhang
2015-02-11 16:39:46 +08:00
@learnshare 如果进去就确定了有没有,如果不在屏幕上戳到那个小人,红包还会给吗?
learnshare
2015-02-11 16:45:31 +08:00
@brightzhang 可以去试验一下,不过不一定能试出来
jason52
2015-02-11 16:45:38 +08:00
@djchurch007 对啊。。我觉得对付外挂就是https保护一下。而且很有可能是在key这里就决定了你拿到的那组value 里面有可能一个红包都没。

而且这次就只有一次机会么,上次那个刮刮卡可是无限次数的,我都想写个脚本了。。。
TFNotGiven
2015-02-11 16:47:11 +08:00
其实设计无非就两种吧,
一种比较简单,就像上面说的在你访问时已经返回结果了,游戏部分只是逗你玩。
第二种在你访问时服务器传回一组数据(总钱数及钱的分布情况参杂混淆数据)通过js渲染成游戏,根据你点击的结果返回一组数据到后台校验。
猜测后者可能性大些。总感觉他们做这种事情其实也是变相让用户测试他们的服务的稳定性,方便未来做一些其他的事情。
dangbiao1991
2015-02-11 16:48:41 +08:00
楼上说的有理
jason52
2015-02-11 16:50:43 +08:00
@TFNotGiven 后者万一抓包了协议被破解岂不很悲剧,确定权不能再用户手上啊
TFNotGiven
2015-02-11 16:56:32 +08:00
@jason52 其实从业务上来说控制这个很简单,比如你抽到红包时总钱数是固定了的。
比如你这次抽到了总钱数是10.85,好,我把这个给你拆分成20份小红包在游戏里您能点着多少就看你运气了,你说我破解了你的校验方式,没事,我全给你了就10.85。也就这样了,你说呢?你的抽奖次数又不是无限的,就那么几次而已。
zjuster
2015-02-11 17:01:27 +08:00
@jason52 红包应该有个数限制的吧,超过这个数量你刮到天荒地老都没新的...
jason52
2015-02-11 17:04:05 +08:00
@TFNotGiven 这到也行,程序员很有做上帝的感觉有没有。。。。你命里这个过年活动就只能抽这么多钱。。。。哈哈哈

我还考虑为啥有的人在微博上抽到100多。。。从人人有份大家开心的角度讲,应该把钱平分出来,每人拿个小单子。。。。但是从传播学的角度讲,给几个幸运儿特别多的大单子,他们在社交网络分享出来,反而激励其他人去参与这个活动。

程序员真是机智~~
jason52
2015-02-11 17:06:28 +08:00
@zjuster 是啊,所以你不是在和阿里抢,是在和其他用户抢。提高你抢中几率,不过我也认为针对具体某个用户会有一定阈值的。。
jyz19880823
2015-02-11 18:24:09 +08:00
估计也就是玩个游戏,把点到了几个当参数发过去,抽个奖什么的
Bearox
2015-02-11 18:27:25 +08:00
@jyz19880823 这样应该没这么快吧,看它点开一个直接就出来了,有没有抢到。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/170196

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX