看了luma在自己主页上写的东西,大体上该说的都说了,我就做点补充吧。珊瑚虫QQ的作者包括原水木清华BBS站(已被清华大学根据上级命令封闭,现迁至新社区newsmth.org)的cygwin, soff和quaful(就是我). 最早是cygwin做的,外挂的思想就是他提出>来的,外挂可以不用修改腾讯QQ的文件,所以能规避法律上的风险。cygwin后来毕业了,分别交给我和soff接手。我和soff商量之后,决定统一到珊瑚虫名下。
最初cygwin的程序是即兴写的,比较乱,不便于后期维护和扩展。后来我重新设计了架构,重写了cygwin的代码,把核心程序划分为全功能版和占用资源更小的“精简版”。这套架构移植沿用至3.x版。我写完代码之后作了短暂的维护,之后都交给soff处理,我就没怎么管了,一直都是soff在耐心的维护。
自从我把自己的电脑换成Apple iBook以后,由于在Mac OS X上使用QQ的需要,我开始关注跨平台的LumaQQ。由于LumaQQ是Java写的,在iBook上面运行比较慢,所以我开始萌生把LumaQQ用C++移植的意向。但真正让我下定决心还是在LumaQQ的如来神掌功能出来以后。如来神掌一石激起千层浪,珊瑚虫也受到了用户的强大压力,要求在珊瑚虫中实现如来神掌的呼声越来越高。但原有的架构只是在QQ界面上包了一层,如来神掌涉及到底层数据包的操作,原有的架构是不行的,这一点在luma的文章里面已经写的很清楚了。所以我开始了移植把LumaQQ的Java语言移植到C++语言的工作,也就是我前面提过的KQL库,也是珊瑚虫外挂4.0的核心。KQL库(Kwafu QQ Library)可以看作是LumaQQ接近1:1的C++移植版。同LumaQQ一样,它实现了基本的QQ功能,完全可以作为一个迷你的QQ客户端,作为将来在Mac OS X下面运行的QQ的基础(Mac OS X下面也已经有了很好的QQ客户端isQ和iQQ,不过我还是喜欢LumaQQ的架构,扩展方便,容易把握)。不过,与LumaQQ出发点不同的是,Windows平台下的KQL库重点是最大限度的保持和官方QQ客户端的兼容性,所以,KQL库是做为一个“外挂”来开发,它的表面功能全都还是依附于官方QQ客户端来实现的。对于用户来说,就是不会影响传送文件、视频聊天等功能,珊瑚虫新增加的功能对原来的影响都尽可能的小。为了达到1:1移植的效果,我用C++实现了LumaQQ用到的大部分Java内置类,包括NIO, Thread等(累到吐血)用了一个月的时间吧,到现在算是差不多了。多谢luma本人的亲自指点,为我消化LumaQQ节约了不少时间。虽然luma没有亲自参与KQL的开发过程,但由于KQL的架构设计和大量的代码都参考了LumaQQ,所以征求luma本人的意见之后,我把luma(以及LumaQQ源码中出现过的另一位作者notXX)加入了KQL库的开发作者名单中。
KQL库的初衷是跨平台的QQ库,如来神掌只是其中附带提供的一个小小的功能而已。事实上,如果我没有买Apple的iBook,我也不会想到开发这么庞大的一个库。所以大家也不必在“如来神掌”这个问题上发挥太多,只是即兴想到的小玩意,把它牵扯上珊瑚虫的发展战略,未免太拔高了。借助KQL库,能实现的功能还有很多很多,唯一的限制就是想象力,所以以后珊瑚虫还会不断地升级,会有更精彩功能出现。
[ Quaful on 2005-5-15 at 18:18 ]
腾讯QQ珊瑚虫外挂V4.0内测版即将发布/Qq/ParkA/20050521909.htm
F1迷 http://www.f1mi.com
评论加载中…
本站内的均为网络免费资源搜索机器人自动搜索的结果,所有版权归原权利人,请用使用仅用于测试软件,勿将下载的注册码以及序列号用于商业用途,因此造成的任何责任与本站无关!
© 2008 http://www.f1mi.com/All rights reserved. 湘ICP备06011247号
迅雷电影下载 http://www.jieze.com
--湘ICP备06011247号