日期:2014-05-17  浏览次数:20710 次

急,一个多线程抽奖程序.
http://www.idcfly.com/test.htm

类似这样.

十线程.现在这个程序中,数据有重复.故不可以用.

--------------------------------------------------
有没有其它程序.
要求:
身份证号   ,从数据库中读出.
每一次显示10个号码.
第二次抽奖,再显示10个号码,注意,第二次的号码不能与前一次重复


------解决方案--------------------
这个还不简单吗?总要找个地方把第一次中奖的记下来嘛。再说,这种东西就是骗骗老百姓的,从程序员的角度讲,控制显示哪个不显示哪个还不是最简单不过的?
------解决方案--------------------
我写过一个抽奖程序给自己公司抽奖,结果公司要求把我排除在抽奖名单之外.
------解决方案--------------------
以前遇到过这种问题,试做了一个,但是很不理想。现将经验和LZ分享一下:

重复不是问题,关键是速度和安全。有几种思路:

1、例程全部在客户端,如楼主例程,是最不安全的。

2、服务器端进行抽奖计算,客端决定是否停止,具体过程如下:

客服端发出一个请求,服务器计算随机结果返回,并将随机种子放入session,若客户端不停止,ajax则继续发送请求,服务器根据session种子继续计算。

这样的优点是:
--客户端不能决定选取结果,只能决定是否选取,通过设置ajax事件间隔,可以形式上类似与滚动抽奖,安全性比客户端执行好。

但是缺点是:
--客户端的事件有决定权,若客户端穷举到满意为止,安全性一样是问题。
--由于asp的不是连接状态,计算可能要频繁的读取DB或其他文件,性能成问题。
--每次计算随机数都要往返御BS两遍,网络延迟大的化实在是个问题。

3、完全服务器端抽取,客户的显示是骗人的。
客户端胡乱弄点东西显示,点击后xmlhttp发送请求到服务器,服务器计算后返回抽奖值,得到结果后终止客户端的骗人把戏,给出结果。

缺点:
--被拆穿的化,人家会说服务器有鬼,黑幕。



------解决方案--------------------
以前的类似帖子:
http://community.csdn.net/Expert/topic/5586/5586929.xml?temp=.152218
------解决方案--------------------
关注楼主!
------解决方案--------------------
文本和数据库有区别吗?以前的dbase和foxbase的数据库就都是纯文本文件。