首页
社区
课程
招聘
[旧帖] [原创]看雪论坛挂机有感。。。 0.00雪花
发表于: 2012-6-6 13:38 9776

[旧帖] [原创]看雪论坛挂机有感。。。 0.00雪花

2012-6-6 13:38
9776
为了尽快获得看雪论坛的正式用户,菜鸟只能采用挂机这种低水平的方法。不过在挂机的过程中解除了一个疑惑,跟大家分享讨论一下。 本来是想等到转正那天再发出来,但是今天在论坛上看到一个帖子 http://bbs.pediy.com/showthread.php?t=151656  求助说,挂机没有增加在线时间。。 于是就赶快写出来帮忙解决他的问题一下。。。。
   首先需要明确的是,网页浏览是http传输数据的,而且浏览器请求回来所需要的网页后就会和服务器断开,这样服务器是不知道你是否还在线。一种解决方案是使用session来解决这个问题,但是因为session是有生存时间的,于是要想挂机,必须在一定时间内刷新网页,才能更新session的生存期。
菜鸟有电脑,而且愿意一直开着(谁让咱那么想得到看雪的正式用户呢),但是不愿意的是不想一直点刷新按钮,这是让人很耐烦的。。。。。
  解决方法是使用脚本。。windows下推荐使用autoit自动化脚本,支持编程而且特别强大!!
下面就是我用来刷新的脚本 refresh.au3  是每隔一分钟自动刷新一下网页。

;refresh web page every 60 seconds
WinWaitActive("看雪安全论坛 - www.pediy.com - Windows Internet Explorer")

While(True)
   Send("{F5}")
   sleep(60*1000)
WEnd
   
简单吧~~~~ 具体使用方法,可以从官网下载后看help帮助文件,比较详细,这里就不浪费空间了。

解决了刷新问题,下面我就就来谈谈有点深入的,话说服务器是怎么计算用户的在线时间呢??
根据经验,我觉得会有两种方案,
一、不知道大家有没有这种经历,高中时不能经常上网,但是又特别想刷qq的等级,一种广为传送的方法是,每隔三十分钟手机登陆一次qq,登上去后马上退,这样反复登陆4次就能刷2个小时的在线时间,按照腾讯的要求,2个小时就计算为了1天。。   看到这里大家肯定都明白了腾讯很可能是这样计算在线时间的------

if(userEnterPwd.equals(databasePwd))
{
   //首先判断session里键"userid"有没有值,如果有说过该用户一直在线
  if(session.getAttribute("userid") != NULL)
  {
      return;
  }
     //登陆成功
    session.setAttribute("userid","123456"); //123456的qq在线
    onlineTime += 30*60;  //在线时间加上30分钟
}

(上面是依据session判断的,如果想杜绝多个浏览器同时刷新时间,就需要将userid这个键持久化,每次都取出来看看是否有值)。。。
可是为什么是30分钟呢,原因很可能是因为session的默认有效时间就是30分钟,腾讯的开发者偷懒了。。。。

二、还有一种在线时间的计算方法,这种方法是大部分论坛所采用的。用cookie记录上次访问的时间,每次用户提交一个新的请求时都会和上一次访问时间对照,如果它们之间的差小于过期时间(定义的一个时间,如果大于这个时间说明用户刚才是不在线的)就累加到在线时间里。

以上是个人的看法,如果有不对的地方欢迎大家来批评指正。。。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (35)
雪    币: 125
活跃值: (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
大家挂机的方法多种多样啊。
2012-6-6 22:54
0
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
不错,是个挂机的方法。不过用啥比较“高级”的编程语言都好些啦!
2012-6-7 00:07
0
雪    币: 30
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
学习了 呵呵 我是新手
2012-6-7 10:41
0
雪    币: 2329
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
楼主厉害,这个挂机方法不错~
2012-6-7 15:57
0
雪    币: 41
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
楼主的办法很独特啊
2012-6-7 17:45
0
雪    币: 142
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
5楼....亮了
2012-6-7 18:32
0
雪    币: 38
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
不愧是技术论坛,连论坛任务也技术性完成....
2012-6-7 23:44
0
雪    币: 329
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
迫不得已啊  希望能赶快成长啊!!!
2012-6-8 01:31
0
雪    币: 95
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
呵呵,楼主的方法好!借鉴了
2012-6-8 04:12
0
雪    币: 285
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
11
用360浏览器,直接支持定时刷新
2012-6-8 08:52
0
雪    币: 72
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
没有附件lz去哪里看help?
2012-6-8 10:02
0
雪    币: 329
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
虽然有一些浏览器是可以实现自动刷新的功能,但是通过浏览器刷新的问题可以往外发散,比如如果自动往qq里面输入消息,如果自动打开浏览器,输入要访问的网址。。。等等自动化的工作。。怕是用360浏览器做不了吧。
  不过我们可以用autoit自动脚本编程实现,如果技术再好些,可以通过Hook等技术直接干预目标程序。(其实autoit或许就使用了hook技术)
2012-6-8 10:09
0
雪    币: 329
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
需要去官网下载autoit  地址是http://www.autoitscript.com/site/autoit/
2012-6-8 10:14
0
雪    币: 767
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
楼主挂机确实不一般,我一般都是用浏览器
2012-6-9 00:16
0
雪    币: 270
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
基本不挂机,只是查一些东西。
2012-6-9 02:32
0
雪    币: 329
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
楼主注册早啊,可以是正式用户。 注册完的只能挂机来转正啊。。
ps 非正式会员只能在新手版块发帖子。。
2012-6-9 12:32
0
雪    币: 32
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
终于可以购买邀请码了
2012-6-9 12:51
0
雪    币: 33
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ysc
19
不错,学习了
2012-6-10 23:53
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
呵呵,autoit还是不错的,不过是不是会被误报。
2012-9-17 06:47
0
雪    币: 194
活跃值: (241)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
我用360自动刷新工具。
2012-9-17 22:26
0
雪    币: 51
活跃值: (61)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
22
为啥要挂机啊
2012-9-17 23:25
0
雪    币: 30
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
楼主真有心,挂机也讲究!
2012-9-18 12:05
0
雪    币: 193
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
这个方法。。。衍生的东西不错
2012-9-18 13:27
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
这样挂机不就影响正常电脑的使用了吗?比如说我想全屏看电影,浏览器不停刷新,就不能一直全屏了。有没有更好的办法?
2012-10-12 03:31
0
游客
登录 | 注册 方可回帖
返回
//