传奇版本

服务器运行时间过长宝宝叛变解决方法

[复制链接]
查看25925 | 回复15 | 2012-11-6 19:38:04 | 显示全部楼层 |阅读模式
对,是GetTickCount()的问题。
我来说明吧:GetTickCount()计算得到的是操作系统到现在为止的运行时间,单位是毫秒数。由于GetTickCount返回的值是DWORD类型。因此,操作系统再运行了49.7天后,这个值就会归0。
1、程序编写中,一般以两次的GetTickCount()这个API函数之差来计算时差的。
2、召唤神兽的叛变时间是十天,召出来以后,系统取gettickcount()+10天*24小时*60分*60秒*1000毫秒作为叛变的最后期限,如果下次取的gettickcount()大于这个期限就会叛变。因此,大家可以算出,系统运行39.7天以后到49.7天,这个期限的计算就会产生溢出,就造成楼主的现象。
解决办法:39天后重启一次服务器。

看看 | 2014-5-9 14:11:56 | 显示全部楼层
突然觉得楼主说的很有道理,赞一个!
七夜厉鬼 | 2014-5-9 14:24:15 | 显示全部楼层
楼上是GG还是MM啊?
琪琴鹏 | 2014-5-9 14:09:08 | 显示全部楼层
看帖不回帖都是耍流氓!
白富美?高富帅?
琪琴鹏 | 2014-5-9 13:43:03 | 显示全部楼层
楼主会死的很有节奏的!
苏武牧羊 | 2014-5-19 19:10:53 | 显示全部楼层
听楼主一席话,省我十本书!
龙格尔 | 2014-5-19 19:24:26 | 显示全部楼层
楼上的这是啥态度呢?
梅德森 | 2014-5-19 18:58:19 | 显示全部楼层
收藏了,很不错的内容!
城玲志纯 | 2014-5-19 19:13:22 | 显示全部楼层
楼主加油,看好你哦!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则