网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 网络学院 >> 程序设计 >> Java编程 >> 文章正文
  LumaQQ分析            【字体:
LumaQQ分析
作者:佚名    文章来源:不详    点击数:    更新时间:2007-9-2    

满打满算看LumaQQ的源代码有一个星期了。
正在装载数据……
我以为还是本科时看那些代码,开开个IDE就开始分析程序结构,外加调试跟踪几遍就差不多能够摸清——实践证明我错了,我费了很长时间才搞清里面的静态关系,也就是类、接口之间的继承关系,然后跟踪出一般的执行流程。其中使用到Java 1.5中的新特性:并发线程包,可以把一般通信协议中用到的超时重发机制做得很简单,简单到就像硬件watchdog一样,只需要两个操作:设置-触发,然后它就会启动-触发-启动-…… 这个是我以前写那些简单的程序从未用到过的,那时候只会套用最原始的C/S时代的框架,侦听-接受-新开线程处理-再监听…… ,要考虑的只是插入自己的处理逻辑。当我从LumaQQ的汪洋代码中抬起头来,看到周围人写的网络实验程序都还停留这种框架中,我发现我们是不是在这个学校把自己搞得太死了?

我打算放弃了。我把自己需要的那部分代码整理了一下,基本上就是它的核心部分,优化了几个地方,然后加入到自己的框架中,准备罢手。QQ2006中加入了验证码机制,这从根本上判了原来方案的死刑,不幸的是我当时候并没有在意,因为当时的重点不在这个上面,重心是把QQ这个作为样本,然后调试网络协议,结果没想到客户端逻辑的分析就费了很多时间,没有力气去提取一个简单的框架来做网络协议的调试器了。

现在感觉做的很没有意义,都是别人做过的,没做的,有困难的自己又没那个能力去做,或者还没有做的基础,想来眼下的能力局限的厉害,除了有点训练的意义外,没有什么有价值的成果。自己又不愿去做那些简单的陈旧的技术,也没有谁会让你去尝试一种新的技术,这些,似乎永远都只能作为自己的兴趣,而成不了自己的职业,也成不了自己的责任。

分析代码这样的活,还算是件值得去做的事,起码按劳动事件算,它的价值不算低,跟自己以前的分析水平比起来,这次还是得到了锻炼。要想把一个想法做成程序,或者一个这种规模的小软件,还要学很多。以前都不懂ant,不懂协议分层,apache的那些package都没有见过,调试只会println,现在算是见识了。

其实lumaQQ网站上有源代码指南,但是我没有去看,因为我想试一试,结论是对于稍微复杂一点的项目源代码,我还没有这种水平,一来是缺乏类似的程序设计经验,对基本的框架不熟悉,二来是缺少一些基础知识,比如Java的并发库,使用UML的一些分析技术,分析思想还是那种比较原始串行算法的模式,C语言的思想,唉,这个星期这么累,实在是自食其果。

要想提高,除非是利用所能利用的一切资源,搭一个台阶,然后爬上去;只是在原地跳一下,也就是一下而已,我跳得不高,也抓不住上层的台阶,以后还是不要这么做事为好。




本文来源:http://blog.csdn.net/ramacess/archive/2007/09/01/1768666.aspx
站内文章搜索 高级搜索
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
     用java实现web服务器
     用java快速开发linux gu…
     正则表达式分解siemens交…
     [portal参考手册]目录
     jsp中调用oracle存储过程…
  • HashTable和HashMap; Vecto…

  • weblogic 9.1的domain配置my…

  • Cookie又见Cookie-使用Html…

  • sizeof 操作符及pragma内存对…

  • #pragma 指令解析

  • Boyer-Moore String Searchi…

  • 说说C++中的malloc与new

  • cximage介绍

  • 发现个知识点忘记了,再学习…

  • 在C++实现C#中的属性(Proper…

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    网络学院©2007 www.23book.net
    为您提供web编程,vb编程,vc编程,服务器架设管理,数据库设计等方面的知识 站长:David