网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 冲浪宝典 > 软件下载教程 > eMule电驴教程
软件下载:软件下载,迅雷下载,eMule电驴,FlashGet快车,BitComet,BT下载
本月文章推荐
.关于P2P、电驴和BT,不可不知的事.
.电驴文件损坏的处理问题.
.eMule电骡积分系统:上传越多越好.
.电驴“遇到问题需要关闭”之解决.
.电驴搜索技巧之Big5乱码搜索.
.简单谈一下VC电驴的问题.
.关于电驴启动断档下载的问题.
.我家的电驴不伤盘.
.如何屏蔽eMule中指定的服务器.
.打破新手的下载上传误区,5秒种达.
.eMule电驴使用从入门到精通.
.电驴服务器大全.
.详述kad和ed2k的之间的关系.
.eMule电驴“代理服务器”的作用讲.
.eMule电驴服务器常见问题及解答.
.关于使用电驴中ADSL断线、断流之.
.超简单方法解决电驴死机问题.
.eMule冲到300k! 体验网通ADSL不.
.提高电驴下载速度.
.关于电驴设置端口与高ID的心得.

简单谈一下VC电驴的问题

发表日期:2008-7-20


看到论坛这个板块里N多人都在说VC的“加分”机制不厚道,“强烈要求去掉”云云。本人电驴子新手,总觉得“凡事总需研究,才会明白”,“加分”到底对不对,拿源代码说话。
OK,废话少说,先上代码:

代码

       //VeryCD版,积分调整 added by kernel1983 2006.08.01
    CString strBuffer = this->GetUserName();    //获得对方的Nick
    if (
//        strBuffer.Find(_T(”[VeryCD")) != -1 || strBuffer.Find(_T("[CHN]“)) != -1 ||
        (thePrefs.UseCreditSystem() && credits->GetScoreRatio(GetIP())!=1) ||
        (currequpfile->GetUpPriority() == PR_VERYHIGH) ||
        (IsEmuleClient() && (GetAvailablePartCount() > 0) || (m_nDownloadState == DS_DOWNLOADING))||
        IsFriend()
    )
    {
        fBaseValue += 19900;    //增加积分
    }
这段代码是VC加到官版 CUpDownClient::GetScore() 方法里的,用做积分调整。顺便说一下,电驴里的“得分”和“评分”都是用这个方法来计算,用调用参数来区别。
这段代码很简单,主要的就是那个if语句,里面一共有6个互为“或”关系的逻辑语句,一一解释下:
1、strBuffer.Find(_T(”[VeryCD")) != -1
这个一看就知道,判断对方的nickname里是否有“[VeryCD”的tag,这也是网友们批评VC最多的地方2、strBuffer.Find(_T("[CHN]“)) != -1
道理同上,不过是判断对方的nickname里是否有“[CHN]”,也就是说,如果对方名字里只有[CHN],也能获得“加分”3、thePrefs.UseCreditSystem() && credits->GetScoreRatio(GetIP())!=1
判断对方是否使用信用系统,并且对自己有上传(上传下载比例不再是1)4、currequpfile->GetUpPriority() == PR_VERYHIGH
看共享的文件是不是“发布”级别,如果是“发布”就给对方“加分”5、IsEmuleClient() && (GetAvailablePartCount() > 0) || (m_nDownloadState == DS_DOWNLOADING)
这个还不是太明白,好像是说如果对方对于我要下载的文件,如果拥有超过1个文件分块,就给对方“加分”,或者如果我正在下载对方的文件,也给对方“加分”6、IsFriend()
既然我们是朋友,就加点分吧……上面简单分析了一下“加分”规则。
3、5两条是鼓励上传的,这没问题。
4、6两条见仁见智,我认为给朋友和发布级别的文件加分也是可以接受的,算是一种“偷懒”的解决方法。当然我知道,对于不同共享级别文件的排队顺序有更好的算法,对于朋友,xt的mod也有朋友通道这一方法。
问题出在1、2两条,nickname里只要有[VeryCD]或者[CHN]就有加分,这对于其他mod是不公平的,估计这也是VC被国外评做community mod的原因。

说下我的看法:
1、论坛上很多人说VC只给VC的mod加分,这种说法是片面的。VC的加分规则是在鼓励上传,同时也鼓励使用[VeryCD]或者[CHN]这两种tag,并没有限制只能用VC的mod。
2、关于community mod,我认为VC并不是只给自己的mod上传,不算严格的community mod。也不能因此就说VC是leecher。我比较同意某大虾的说法:只有吸血的人,没有吸血的mod.
3、VC作为一个商业公司,能够坚持开放源码,在国内这个大环境下,是值得表扬的(顺便BS一下国内某个不愿意开源的驴子)。

好了,大家都看明白了吧,其实很简单,如果还有不明白的可以相互交流一下。

上一篇:电驴下载时预览未下载完的媒体文件 人气:3388
下一篇:关于P2P、电驴和BT,不可不知的事 人气:2419
浏览全部电驴的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐