<?xml version="1.0" encoding="gb2312"?>

<!-- RSS generated by oioj.net on 4/16/2004 ; 感谢LeXRus提供 RSS 2.0 文档; 此文件可自由使用，但请保留此行信息 --> 
<!-- Source download URL: http://blogger.org.cn/blog/rss2.asp       -->
<rss version="2.0">

<channel>
<title>godknows的博客</title>
<link>http://blogger.org.cn/blog/blog.asp?name=godknows</link>
<description>godknows的博客</description>
<copyright>blogger.org.cn</copyright>
<generator>W3CHINA Blog</generator>
<webMaster>webmaster@blogger.org.cn</webMaster>
<item>
<title><![CDATA[爱情的扉页]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=godknows&amp;id=8140</link>
<author>godknows</author>
<pubDate>2005/8/30 23:32:59</pubDate>
<description><![CDATA[经意不经意间,你已将你的名字题在了我的爱情的扉页,还用你斑斓的性格将它涂得色彩炫烂!]]></description>
</item><item>
<title><![CDATA[缘浅么?]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=godknows&amp;id=8139</link>
<author>godknows</author>
<pubDate>2005/8/30 23:29:47</pubDate>
<description><![CDATA[缘浅么?抵不住片刻的默视,秋天来了,冬天还远吗?如炭火般热烈的感情是否也要裹上厚厚的外衣,在山谷中雪藏?我们是否已经走过了一个圆,不甘心!这个圆划得太小. <BR>]]></description>
</item><item>
<title><![CDATA[没有我你闷不闷 (转) 张小娴]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=godknows&amp;id=7081</link>
<author>godknows</author>
<pubDate>2005/7/9 19:53:52</pubDate>
<description><![CDATA[
<TABLE class="fixedTable blogpost" cellSpacing=0 width="100%" border=0>
<TBODY>
<TR>
<TD class=ellipse><SPAN class=bvTitle id=subjcns!1pX4q__VHMvohW6ICwnAifgQ!180><STRONG>没有我你闷不闷 (转) 张小娴</STRONG></SPAN></TD></TR>
<TR>
<TD class=bvh8><STRONG></STRONG></TD></TR>
<TR>
<TD id=msgcns!1pX4q__VHMvohW6ICwnAifgQ!180>
<P class=h align=center><FONT color=#6600cc>&nbsp;</FONT></P>
<P><BR>
<P><FONT color=#6600cc>　　如果没有我，以后再没有人问你："你去了哪里？"也许你会觉得闷。 </FONT></P>
<P><FONT color=#6600cc>　　再没有人唠叨你，你会不习惯的。 </FONT></P>
<P><FONT color=#6600cc>　　再没有人向你发脾气，你会觉得生活太平淡。 </FONT></P>
<P><FONT color=#6600cc>　　再没有人向你撒娇，你可能会觉得欠缺了一些什么。 </FONT></P>
<P><FONT color=#6600cc>　　再没有人在你面前哭，你会觉得自己不重要。 </FONT></P>
<P><FONT color=#6600cc>　　再没有人骂你乱花钱，你会觉得偷偷花钱去买东西时不够刺激。 </FONT></P>
<P><FONT color=#6600cc>　　再没有人跳到你身上说："吻我！"你会失去活力。 </FONT></P>
<P><FONT color=#6600cc>　　再没有人问你："你会不会跟我结婚？"你会觉得生活太正常。 </FONT></P>
<P><FONT color=#6600cc>　　再没有人跟你争浴室，你会不够痛快。 </FONT></P>
<P><FONT color=#6600cc>　　再没有人要你记着她的生日，你会觉得浪费了你良好的记忆力。 </FONT></P>
<P><FONT color=#6600cc>　　再没有人吩咐你："下班后来公司接我。"以后每天下班，你会想不到可以去哪上里。 </FONT></P>
<P><FONT color=#6600cc>　　再没有人要你听她说心事。你会有点失落。 </FONT></P>
<P><FONT color=#6600cc>　　再没有人在家里等你，你会觉得家像酒店。 </FONT></P>
<P><FONT color=#6600cc>　　没有我你闷不闷？一定会闷坏你。所以，你要对我好一点。</FONT></P></TD></TR></TBODY></TABLE>]]></description>
</item><item>
<title><![CDATA[上　邪]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=godknows&amp;id=6953</link>
<author>godknows</author>
<pubDate>2005/7/3 18:57:17</pubDate>
<description><![CDATA[上　邪①<BR><BR>汉乐府民歌<BR><BR>上邪！②我欲与君相知，③长命无绝衰。④<BR>山无棱，江水为竭，冬雷震震，夏雨雪，天地合，<BR>乃敢与君绝！⑤<BR><BR>【注释】<BR>　①这一首是情诗。指天为誓，表示爱情的坚固和永久。　②上：指天。上邪：<BR>　犹言“天啊”。这句是指天为誓。　③相知：相亲。　④命：令，使。从“长<BR>　命”句以下是说不但要“与君相知”，还要使这种相知永远不绝不衰。　⑤除<BR>　非高山变平地、江水流干、冬雷、夏雪、天地合并，一切不可能发生的事都发<BR>　生了，我才会和你断绝。<BR><BR>【品评】<BR>　　　本篇是汉乐府《饶歌》中的一首情歌，是一位痴情女子对爱人的热烈表白，<BR>　在艺术上很见匠心。诗的主人公在呼天为誓，直率地表示了“与君相知，长命<BR>　无绝衰”的愿望之后，转而从“与君绝”的角度落墨，这比平铺更有情味。<BR>　　　主人公设想了三组奇特的自然变异，作为“与君绝”的条件：“山无棱，<BR>　江水为竭”——山河消失了；“冬雷震震，夏雨雪”——四季颠倒了；“天地<BR>　合”——再度回到混沌世界。这些设想一件比一件荒谬，一件比一件离奇，根<BR>　本不可能发生。这就把主人公生死不渝的爱情强调得无以复加，以至于把“与<BR>　君绝”的可能从根本上排除了。这种独特的抒情方式准确地表达了热恋中人特<BR>　有的绝对化心理。深情奇想，确实是“短章之神品”。]]></description>
</item><item>
<title><![CDATA[中国十大经典遗言]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=godknows&amp;id=6544</link>
<author>godknows</author>
<pubDate>2005/6/13 21:55:23</pubDate>
<description><![CDATA[<STRONG>中国十大经典遗言<BR><BR><!----><BR></STRONG><SPAN class=tpc_content><FONT size=2>1、三国周渝：既生渝，何生亮？ <BR>2、西楚霸王项羽：时不利兮骓不逝，虞姬虞姬奈若何？ <BR>3、戊戌六君子之谭嗣同：有心杀贼，无力回天！ <BR>4、宋代诗人陆游：王师北定中原日，家祭勿忘告乃翁。 <BR>5、革命领袖孙文：革命尚未成功，同志仍需努力。 <BR>6、宋代爱国名士文天详 ：人生自古谁无死，留取丹心照汗青 <BR>7、伟大的爱国者屈原：举世皆浊我独清，众人皆醉我独醒。 <BR>8、三十年代影星阮玲玉：不死不足以明我冤！ <BR>9、革命烈士夏明翰： 杀了我一个，还有后来人。 <BR><BR>特别奖：这草有毒！ （神农氏） <BR><BR><BR>此外，民间还流传着不少脍炙人口大家耳熟能详的遗言： <BR><BR>1、十八年后老子又是一条好汉！ <BR>2、人死不过头点地 ！ <BR>3、要杀要剐悉听尊便，动手吧！ <BR>4、这是我的党费！ <BR>5、孩子！不要报仇！！ <BR>6、老婆！我死了以后你就改嫁吧！ <BR>7、我觉得我还可以抢救一下！ </FONT><BR></SPAN>]]></description>
</item><item>
<title><![CDATA[LumaQQ 跬步文档]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=godknows&amp;id=6335</link>
<author>godknows</author>
<pubDate>2005/6/4 0:17:48</pubDate>
<description><![CDATA[
<TABLE cellSpacing=0 cellPadding=2 width="100%" border=0>
<TBODY>
<TR>
<TD vAlign=top align=left bgColor=#0080c0 colSpan=2><B><FONT face=Arial,Helvetica><FONT color=#ffffff>&nbsp;LumaQQ 开发者文档</FONT></FONT></B></TD></TR></TBODY></TABLE>
<H1><IMG src="http://lumaqq.linuxsir.org/doc/images/lumaqq_logo.gif" align=center></H1>
<CENTER>
<H1>LumaQQ 跬步文档</H1>
<H3>查找用户<BR></H3></CENTER>
<P><B>Luma, 清华大学<BR></B>更新时间: 2005-04-27</P>
<P>
<HR width="100%">

<P>QQ有很多种查找方式，这里是最简单的一种查找方式，2004版本开始有了高级查找，我们后面再介绍。以前我们只能查找全部在线用户，或者根据用户的一些特定信息查找（叫做自定义查找)。所以这个命令又包含两种搜索方式。 
<H3></H3>
<H3>请求包格式</H3>搜索方式的相关常量如下: 
<UL>
<LI><I>QQ_SEARCH_ALL:</I> 查找全部在线用户 
<LI><I>QQ_SEARCH_CUSTOM:</I> 自定义查找 </LI></UL>
<P>搜索方式为<I>QQ_SEARCH_ALL</I>时: 
<OL>
<LI>头部 
<LI>搜索方式，1字节 
<LI>1字节分隔符: 0x1F 
<LI>页号的十进制字符串形式，从0开始。你应该知道在线用户是很多的，所以要分成多页来显示。实际上这个页号是否真的有用也不好说，你如果不停的请求得到第0页的用户，你会发现返回结果都不一样，所以，这个页号有没有用很难说，不知道服务器是怎么做的。按照常理呢，你还是在程序中递增这个页号吧。 
<LI>尾部 </LI></OL>
<P></P>
<P>搜索方式为<I>QQ_SEARCH_CUSTOM</I>时: 
<OL>
<LI>头部 
<LI>搜索方式，1字节 
<LI>1字节分隔符: 0x1F 
<LI>要搜索的用户的QQ号的字符串形式 
<LI>1字节分隔符: 0x1F 
<LI>要搜索的用户的昵称 
<LI>1字节分隔符: 0x1F 
<LI>要搜索的用户的email 
<LI>1字节分隔符: 0x1F 
<LI>页号的字符串形式 
<LI>1个字节，0x00，应该是结束符吧，因为前面是页号，考虑c语言的字符串表示方式，这个应该是页号的结束符 
<LI>尾部 </LI></OL>对于那些不存在的条件，把这个字段置为空就是了 
<P></P>
<H3>回复包格式</H3>搜索的结果，有两种情况，一种是搜到了一些用户，一种是没搜到，这好像是废话哈？嗯，那么重要的是这种结果之后的含义，没搜到简单啊，那你就应该停止发送搜索请求了。要是搜到了呢？还继续搜不？这个当然就看你自己了，你想继续就继续，但是要记得把页号加1。 
<P>没搜到时： 
<OL>
<LI>头部 
<LI>字符串"-1"，变成16进制就是0x2D31 
<LI>尾部 </LI></OL>
<P></P>
<P>搜到时: 
<OL>
<LI>头部 
<LI>用户的资料，每个用户有4个字段，字段的顺序是"QQ号，昵称，地区，头像号码"，注意这些字段都是字符串形式。所以为了分隔这些字段，同时为了分隔这些用户，这里面有两种分隔符：0x1F用来分隔用户，0x1E用来分隔用户的4个字段。要注意的是边界的情况，因为头像号码是最后一个字段，所以头像号码后面不是0x1E而是0x1F。那么自然QQ号前面也是0x1F。另外，第一个用户前面没有0x1F。搜索的结果被封装在<I>edu.tsinghua.lumaqq.qq.beans.UserInfo</I>中，一个用户对应一个UserInfo。 
<LI>尾部 </LI></OL>
<P></P>
<H3>成功时</H3>
<P>操作成功时，核心层会触发<I>QQ_SEARCH_USER_SUCCESS</I>事件，这个事件携带的包是<I>SearchUserReplyPacket</I>，可用的字段如下: 
<UL>
<LI><I><B>finished:</B></I> boolean, true表示后面还可能有更多的匹配，你应该页号加1继续搜 
<LI><I><B>users: </B></I>java.util.List，里面存放的是UserInfo对象 </LI></UL>
<P></P>
<H3>搜索结束时</H3>
<P>操作成功时，核心层会触发<I>QQ_SEARCH_USER_END</I>事件，这个事件携带的包是<I>SearchUserReplyPacket</I>，可用的字段如下: 
<UL>
<LI><I><B>finished:</B></I> boolean, 既然是搜索结束，这个字段当然是true </LI></UL>
<P></P>
<H3>失败时</H3>
<P>因为目前未知还没失败过，所以不知道失败时候的模样，自然也没有失败的事件了</P>
<P><SMALL>LumaQQ is a Java QQ client which has a reusable pure Java core and SWT-based GUI</SMALL></P>]]></description>
</item><item>
<title><![CDATA[LumaQQ 跬步文档]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=godknows&amp;id=6334</link>
<author>godknows</author>
<pubDate>2005/6/4 0:15:57</pubDate>
<description><![CDATA[
<TABLE cellSpacing=0 cellPadding=2 width="100%" border=0>
<TBODY>
<TR>
<TD vAlign=top align=left bgColor=#0080c0 colSpan=2><B><FONT face=Arial,Helvetica><FONT color=#ffffff>&nbsp;LumaQQ 开发者文档</FONT></FONT></B></TD></TR></TBODY></TABLE>
<H1><IMG src="http://lumaqq.linuxsir.org/doc/images/lumaqq_logo.gif" align=center></H1>
<CENTER>
<H1>LumaQQ 跬步文档</H1>
<H3>登出<BR></H3></CENTER>
<P><B>Luma, 清华大学<BR></B>更新时间: 2005-04-27</P>
<P>
<HR width="100%">

<P>退出QQ，要发送Logout命令，这个命令是不需要等待回复的，也就是说你发了之后就可以退出程序了，那么为了保证服务器能够收到你的登出命令，你需要多发几次，比如像QQ的做法是发送4次，你想发多少次就随便你了，我觉得这个也不是强制要做的，比如你只想发一次，也行，服务器收不到就收不到吧，影响也不大，说不定还能继续长你在线时间呃。 
<H3></H3>
<H3>请求包格式</H3>
<P>
<OL>
<LI>头部，包序号需要指定为0xFFFF，但是这个只是QQ的做法，指定为其他的是否可以，没有试验过，你感兴趣可以试试 
<LI>用session key加密的password key 
<LI>尾部 </LI></OL>
<P></P>
<P>这个包没有回复包，所以也没有相关联的事件了。</P>
<P><SMALL>LumaQQ is a Java QQ client which has a reusable pure Java core and SWT-based GUI</SMALL></P>]]></description>
</item><item>
<title><![CDATA[LumaQQ 跬步文档]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=godknows&amp;id=6333</link>
<author>godknows</author>
<pubDate>2005/6/4 0:15:28</pubDate>
<description><![CDATA[
<TABLE cellSpacing=0 cellPadding=2 width="100%" border=0>
<TBODY>
<TR>
<TD vAlign=top align=left bgColor=#0080c0 colSpan=2><B><FONT face=Arial,Helvetica><FONT color=#ffffff>&nbsp;LumaQQ 开发者文档</FONT></FONT></B></TD></TR></TBODY></TABLE>
<H1><IMG src="http://lumaqq.linuxsir.org/doc/images/lumaqq_logo.gif" align=center></H1>
<CENTER>
<H1>LumaQQ 跬步文档</H1>
<H3>得到用户资料<BR></H3></CENTER>
<P><B>Luma, 清华大学<BR></B>更新时间: 2005-04-27</P>
<P>
<HR width="100%">

<P>查看用户资料是个很基本的功能了，用户资料有很多，这个就看QQ版本了，那么2004目前是包含了37个字段，如果是2004 II，恐怕又会多些个性签名之类，你要是用2004 II的协议，自然是要与时俱进的。 
<H3></H3>
<H3>请求包格式</H3>
<P>
<OL>
<LI>头部 
<LI>你想查看资料的用户QQ号的字符串形式 
<LI>尾部 </LI></OL>
<P></P>
<H3>回复包格式</H3>
<P>
<OL>
<LI>头部 
<LI>用户资料，37个域，不管域的类型是整数还是什么，都采用字符串形式表示。每个域之间用字符'0'分隔。这30个域的顺序你不用关心，他们都被包装在了<I>edu.tsinghua.lumaqq.qq.beans.ContactInfo</I>类中 
<LI>尾部 </LI></OL>
<P></P>
<H3>成功时的事件</H3>
<P>操作成功时，核心层会触发<I>QQ_GET_USER_INFO_SUCCESS</I>事件，这个事件携带的包是<I>GetUserInfoReplyPacket</I>，可用的字段如下: 
<UL>
<LI><I><B>contactInfo: </B></I>ContactInfo对象 </LI></UL>
<P></P>
<H3>失败时的事件</H3>
<P>操作失败时，核心层会触发<I>QQ_GET_USER_INFO_FAIL</I>事件，这个事件携带的包是<I>GetUserInfoReplyPacket</I>，无可用字段</P>
<P><SMALL>LumaQQ is a Java QQ client which has a reusable pure Java core and SWT-based GUI</SMALL></P>]]></description>
</item><item>
<title><![CDATA[LumaQQ 跬步文档]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=godknows&amp;id=6332</link>
<author>godknows</author>
<pubDate>2005/6/4 0:13:40</pubDate>
<description><![CDATA[
<TABLE cellSpacing=0 cellPadding=2 width="100%" border=0>
<TBODY>
<TR>
<TD vAlign=top align=left bgColor=#0080c0 colSpan=2><B><FONT face=Arial,Helvetica><FONT color=#ffffff>&nbsp;LumaQQ 开发者文档</FONT></FONT></B></TD></TR></TBODY></TABLE>
<H1><IMG src="http://lumaqq.linuxsir.org/doc/images/lumaqq_logo.gif" align=center></H1>
<CENTER>
<H1>LumaQQ 跬步文档</H1>
<H3>Keep Alive<BR></H3></CENTER>
<P><B>Luma, 清华大学<BR></B>更新时间: 2005-04-17</P>
<P>
<HR width="100%">

<P>Keep Alive这个包，用来使QQ服务器知道自己还在线，至于到底你多久不发Keep Alive就认为你不在线，这个还不清楚，感觉好像挺长的一段时间不发都没事，所以服务器端到底有没有真的在意这个包，我说不准，QQ自己是1分钟发一次的，建议实现你自己的程序的时候参考这个间隔，你要2分钟发一次，当然也可以。这个包本身的作用很小，只能用来得到QQ总在线人数，它最主要的作用还是起到一个定时器的用处，你可以顺便在Keep Alive之后做一些事情，比如得到在线好友数，得到群在线成员数，都可以在这个包之后做，so，把他当成一个固定操作的触发手段吧。 
<H3></H3>
<H3>请求包格式</H3>
<P>
<OL>
<LI>头部 
<LI>用户QQ号的字符串形式 
<LI>尾部 </LI></OL>
<P></P>
<H3>回复包格式</H3>
<P>
<OL>
<LI>头部 
<LI>6个域，分别是"0", "0", 所有在线用户数，我的IP，我的端口，未知含义字段，用ascii码31分隔 
<LI>尾部 </LI></OL>
<P></P>
<H3>成功时</H3>
<P>操作成功时，核心层会触发<I>QQ_KEEP_ALIVE_SUCCESS</I>事件，这个事件携带的包是<I>KeepAliveReplyPacket</I>，可用的字段如下: 
<UL>
<LI><I><B>onlines:</B></I> int, 总在线人数 
<LI><I><B>ip:</B></I> String, 我的外部IP的字符串形式 
<LI><I><B>port:</B></I> int, 我的外部端口 </LI></UL>
<P></P>
<H3>失败时</H3>
<P>目前无失败事件定义，因为它从来就没失败过，所以也不知道失败的时候是什么样的</P>
<P><SMALL>LumaQQ is a Java QQ client which has a reusable pure Java core and SWT-based GUI</SMALL></P>]]></description>
</item><item>
<title><![CDATA[LumaQQ 跬步文档]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=godknows&amp;id=6331</link>
<author>godknows</author>
<pubDate>2005/6/4 0:11:50</pubDate>
<description><![CDATA[
<TABLE cellSpacing=0 cellPadding=2 width="100%" border=0>
<TBODY>
<TR>
<TD vAlign=top align=left bgColor=#0080c0 colSpan=2><B><FONT face=Arial,Helvetica><FONT color=#ffffff>&nbsp;LumaQQ 开发者文档</FONT></FONT></B></TD></TR></TBODY></TABLE>
<H1><IMG src="http://lumaqq.linuxsir.org/doc/images/lumaqq_logo.gif" align=center></H1>
<CENTER>
<H1>LumaQQ 跬步文档</H1>
<H3>得到在线好友<BR></H3></CENTER>
<P><B>Luma, 清华大学<BR></B>更新时间: 2005-04-08</P>
<P>
<HR width="100%">

<P>一般在得到好友列表之后就是得到在线好友了，当然你也可以先得到在线好友再得到好友列表，这个没什么限制。不过你可能会想：好友上线下线的时候会收到通知，那还要得到在线好友干什么呢？因为这种通知是不可靠的，可能由于种种原因，你经常会收不到这个通知，所以得到在线好友是必须的，QQ的作法是在Keep Alive的时候刷新一次来保持最新的在线列表，而Keep Alive是1分钟做一次的。需要说明的是，这个请求包并非只能得到好友，注意看下面的包格式分析。 
<H3></H3>
<H3>请求包格式</H3>
<P>
<OL>
<LI>头部 
<LI>好友类型，1字节。目前发现这个字节置为0x02或者0x03时服务器会有反应，其他都会返回0xFF。置为0x02时，得到的就是好友，置为0x03时，得到的是另外一些东西，b好像是系统服务，号码比如72000001到72000013，就是那些移动QQ，会员服务之类的 
<LI>在线好友列表起始位置，1字节，含义同得到好友列表中的起始位置字段，只不过它只根据在线的来排。 
<LI>1个未知字节，一般设为0x00 
<LI>2个未知字节，一般设为0x0000 
<LI>尾部 </LI></OL>
<P></P>
<H3>回复包格式</H3>
<P>
<OL>
<LI>头部 
<LI>下一个请求包的起始位置，含义同得到好友列表的回复包。相关常量如下： 
<UL>
<LI><I>QQ_FRIEND_ONLINE_LIST_POSITION_START:</I> 开始请求在线好友列表。你发第一个包的时候应该把起始位置置为这个值 
<LI><I>QQ_FRIEND_ONLINE_LIST_POSITION_END:</I> 在线好友已经全部得到 </LI></UL>
<LI>好友的QQ号，4字节 
<LI>未知的1字节 
<LI>好友的IP，4字节。这里提一下，这个字段只有在点对点模式时才有值，如果对方设置的是服务器模式，则这里都是0。但是在以前呢，都是有的，所以这是腾讯服务器的一个bug，在腾讯发布2005 Beta1的这段时间左右，它修正了这个bug，服务器模式不再返回ip了。所以珊瑚虫得到ip的效果已经打了折扣了。不过对于这种这种情况，如来神掌依然可以得到IP。 
<LI>好友的端口，2字节 
<LI>未知的1字节 
<LI>好友的状态，1字节，相关常量如下，需要注意的是，隐身状态是得不到的，所以只会返回3种状态 
<UL>
<LI>QQ_FRIEND_STATUS_ONLINE: 在线 
<LI>QQ_FRIEND_STATUS_OFFLINE: 离线 
<LI>QQ_FRIEND_STATUS_AWAY: 离开 
<LI>QQ_FRIEND_STATUS_HIDDEN: 隐身 </LI></UL>
<LI>未知的2字节 
<LI>16字节的密钥，用处未知，不过猜想是用在点对点通信中 
<LI>2个未知字节 
<LI>1字节扩展标志，bit1表示是否有QQ Show，其他未知 
<LI>1字节通用标志 
<UL>
<LI>bit1 =&gt; 会员 
<LI>bit4 =&gt; TCP方式登陆 
<LI>bit5 =&gt; 开发移动QQ 
<LI>bit6 =&gt; 绑定到手机 
<LI>bit7 =&gt; 是否有摄像头 </LI></UL>
<LI>2个未知字节 
<LI>分隔符，1字节，0x00 
<LI>如果有更多在线好友，重复3 - 15部分 
<LI>尾部 </LI></OL>
<P></P>
<P><B>说明:</B> </P>
<P>回复包的3 - 15部分封装在edu.tsinghua.lumaqq.qq.beans.FriendOnlineEntry.java中，而3 - 10部分又是封装在edu.tsinghua.lumaqq.qq.beans.FriendStatus.java中的，所以FriendOnlineEntry里面包含了一个FriendStatus的对象。 </P>
<H3>成功时</H3>
<P>操作成功时，核心层会触发<I>QQ_GET_FRIEND_ONLINE_SUCCESS</I>事件，这个事件携带的包是<I>GetFriendOnlineReplyPacket</I>，可用的字段如下: 
<UL>
<LI><I><B>position: </B></I>byte, 下一个请求包的起始位置 
<LI><I><B>onlineFriends: </B></I>List，FriendOnlineEntry类的列表 </LI></UL>
<P></P>
<H3>失败时</H3>
<P>尚未有操作失败事件的定义，因为我不知道如何才是失败，这么久了，这个操作就从没失败过，所以我不知道失败的包是什么样子的。 </P>
<P><SMALL>LumaQQ is a Java QQ client which has a reusable pure Java core and SWT-based GUI</SMALL></P>]]></description>
</item><item>
<title><![CDATA[LumaQQ 跬步文档]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=godknows&amp;id=6330</link>
<author>godknows</author>
<pubDate>2005/6/4 0:11:05</pubDate>
<description><![CDATA[
<CENTER>
<H1>LumaQQ 跬步文档</H1>
<H3>得到好友列表<BR></H3></CENTER>
<P><B>Luma, 清华大学<BR></B>更新时间: 2005-04-07</P>
<P>
<HR width="100%">

<P>登录之后还需要得到好友列表。现在得到好友列表这个包重要性已经不太高了，因为这个包无法得到分组信息，只能得到列表，你看到现在QQ 2004以上版本都是自动就把你的分组都同步下来，这个光用得到好友列表的功能做不到，我想这个包现在只是做为兼容性的考虑还存在。 
<H3></H3>
<H3>请求包格式</H3>
<P>
<OL>
<LI>头部 
<LI>起始好友列表返回位置，2字节。假设你有10个好友，这个字段你设置成3，那么就从第3个好友开始返回，预期你应该得到7个好友。那么第三个是怎么界定的？服务器是按照你的好友的QQ从小到大排序决定的。另外，为什么需要这个字段，主要是怕你好友太多，一个包得不完，QQ服务器端的设定是一次只返回50个好友。 
<LI>返回的好友列表是否排序, 1字节。相关常量如下： 
<UL>
<LI><I>QQ_FRIEND_LIST_SORTED:</I> 排序 
<LI><I>QQ_FRIEND_LIST_UNSORTED:</I> 不排序 </LI></UL>
<LI>尾部 </LI></OL>
<P></P>
<H3>回复包格式</H3>
<P>
<OL>
<LI>头部 
<LI>下一次好友列表开始位置，2字节。你的好友很多，还需要再请求，那么你下次要把请求包中的起始位置字段置成这个值。如果这个字段是0xFFFF，那就是服务器告诉你，你的好友都得到了。和起始位置相关的常量有： 
<UL>
<LI><I>QQ_FRIEND_LIST_POSITION_START:</I> 开始请求好友列表。你发第一个包的时候应该把起始位置置为这个值 
<LI><I>QQ_FRIEND_LIST_POSITION_END:</I> 好友已经全部得到 </LI></UL>
<LI>好友QQ号，4字节 
<LI>头像，2字节 
<LI>年龄，1字节 
<LI>性别，1字节 
<LI>昵称长度，1字节 
<LI>昵称 
<LI>2个未知字节 
<LI>1字节扩展标志，bit1表示是否有QQ Show，其他未知 
<LI>1字节通用标志 
<UL>
<LI>bit1 =&gt; 会员 
<LI>bit4 =&gt; TCP方式登陆 
<LI>bit5 =&gt; 开发移动QQ 
<LI>bit6 =&gt; 绑定到手机 
<LI>bit7 =&gt; 是否有摄像头 </LI></UL>
<LI>如果有更多好友，重复3 - 11部分 
<LI>尾部 </LI></OL>
<P></P>
<H3>成功时</H3>
<P>操作成功时，核心层会触发<I>QQ_GET_LOGIN_TOKEN_SUCCESS</I>事件，这个事件携带的包是<I>GetFriendListReplyPacket</I>，可用的字段如下: 
<UL>
<LI><I><B>position:</B></I> char, 下一个请求包的起始位置 
<LI><I><B>friends:</B></I> List, 包含了好友的信息，每个好友的信息由一个QQFriend类封装，请查看edu.tsinghua.lumaqq.qq.beans.QQFriend.java文件了解这个类的字段信息 </LI></UL>
<P></P>
<H3>失败时</H3>
<P>尚未有操作失败事件的定义，因为我不知道如何才是失败，这么久了，这个操作就从没失败过，所以我不知道失败的包是什么样子的。</P>
<P><SMALL>LumaQQ is a Java QQ client which has a reusable pure Java core and SWT-based GUI</SMALL></P>]]></description>
</item><item>
<title><![CDATA[LumaQQ 跬步文档]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=godknows&amp;id=6329</link>
<author>godknows</author>
<pubDate>2005/6/4 0:09:48</pubDate>
<description><![CDATA[
<CENTER>
<H1>LumaQQ 跬步文档</H1>
<H3>改变状态<BR></H3></CENTER>
<P><B>Luma, 清华大学<BR></B>更新时间: 2005-04-05</P>
<P>
<HR width="100%">

<P>登录之后的第一件事就是切换自己的状态，不然你发不出消息，这个一定要注意了，不是登录成功之后就能发消息，而是改变状态之后才能发消息。LumaQQ核心层自动处理登录后的状态改变，所以基本上你可以不管状态改变的事件，就看你的需要了。 
<H3></H3>
<H3>请求包格式</H3>
<P>
<OL>
<LI>头部 
<LI>想要切换到的状态，1字节，定义如下 
<UL>
<LI><I>QQ_FRIEND_STATUS_ONLINE</I>: 在线 
<LI><I>QQ_FRIEND_STATUS_OFFLINE</I>: 离线 
<LI><I>QQ_FRIEND_STATUS_AWAY</I>: 离开 
<LI><I>QQ_FRIEND_STATUS_HIDDEN</I>: 隐身 </LI></UL>
<LI>是否显示虚拟摄像头，4字节，最低位置1表示显示虚拟摄像头，其他位似乎无用 
<LI>尾部 </LI></OL>
<P></P>
<H3>回复包格式</H3>
<P>
<OL>
<LI>头部 
<LI>回复码，1字节，0x30表示成功，相关常量<I>QQ_CHANGE_STATUS_REPLY_OK</I> 
<LI>尾部 </LI></OL>
<P></P>
<H3>成功时</H3>
<P>操作成功时，核心层会触发<I>QQ_CHANGE_STATUS_SUCCESS</I>事件，这个事件携带的包是<I>ChangeStatusReplyPacket</I>，可用的字段如下: 
<UL>
<LI><I><B>replyCode:</B></I> byte，回复码 </LI></UL>
<P></P>
<H3>失败时</H3>
<P>操作失败时，核心层会触发<I>QQ_CHANGE_STATUS_FAIL</I>事件，这个事件携带的包是<I>ChangeStatusReplyPacket</I>，可用的字段如下: 
<UL>
<LI><I><B>replyCode:</B></I> byte，回复码 </LI></UL>
<P></P>
<P><SMALL>LumaQQ is a Java QQ client which has a reusable pure Java core and SWT-based GUI</SMALL></P>]]></description>
</item><item>
<title><![CDATA[LumaQQ 跬步文档]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=godknows&amp;id=6328</link>
<author>godknows</author>
<pubDate>2005/6/4 0:07:14</pubDate>
<description><![CDATA[
<CENTER>
<H1>LumaQQ 跬步文档</H1>
<H3>登录<BR></H3></CENTER>
<P><B>Luma, 清华大学<BR></B>更新时间: 2005-04-04</P>
<P>
<HR width="100%">

<P>QQ登录目前有多种模式，比如普通QQ号，电子邮件登录，绑定手机号登录，还有什么普通模式，TM模式。目前我们只支持普通模式和QQ号登录。 
<H3></H3>
<H3>请求包格式</H3>
<P>
<OL>
<LI>头部 
<LI>初始密钥，16字节 
<LI>用户的密码密钥加密一个空串得到的16字节 
<LI>36字节的固定内容，未知含义 
<LI>登录状态，隐身登录还是什么，1字节 
<LI>16字节固定内容，未知含义 
<LI>登录令牌长度，1字节 
<LI>登录令牌 
<LI>登录模式，1字节，目前只支持普通模式 
<LI>未知1字节，0x40 
<LI>后面段的个数，1字节，1个段9字节(猜测) 
<LI>段，每次基本都是固定内容，未知含义 
<LI>长度不足则全部填0直到符合登录包长度，UDP模式登录请求包长度为416字节 
<LI>尾部 </LI></OL><B>Note:</B> 此包使用初始密钥加密，注意头部之后就是初始密钥，初始密钥是不加密的。 
<P></P>
<P><B>说明</B> 
<UL>
<LI>初始密钥在2004以前用的是一个固定值: 16个0x01字节。2004之后，采用随机密钥 
<LI>密码密钥是通过对用户的密码进行2次MD5生成的 
<LI>密码密钥加密一个空串是干什么呢？主要是服务器用来验证密码的，如果服务器能用密码密钥解开这16个字节，那么它就认为密码是正确的。在这里，我们不一定非要加密一个空串，其实任意字符串都可以，但是你要保证密文只有16个字节。 
<LI>登录请求包的固定内容，含义是未知的，而且，也不能说内容是固定的，即使我们把这些字段全部替换成0，依然能够登录 </LI></UL>
<P></P>
<H3>回复包格式</H3>
<P>回复包可能有多种情况，包体的第一个字节是回复码，可能的取值如下： 
<UL>
<LI><I>QQ_LOGIN_REPLY_OK</I>: 登录成功 
<LI><I>QQ_LOGIN_REPLY_REDIRECT</I>: 重定向 
<LI><I>QQ_LOGIN_REPLY_PASSWORD_ERROR</I>: 密码错误 </LI></UL><I><B>QQ_LOGIN_REPLY_OK：</B></I> 
<OL>
<LI>头部 
<LI>回复码，1字节 
<LI>会话密钥，16字节 
<LI>用户的QQ号，4字节 
<LI>用户的IP，4字节 
<LI>用户的端口，2字节 
<LI>服务器的IP，4字节 
<LI>服务器的端口，2字节 
<LI>本次登录时间，4字节 
<LI>未知的26字节 
<LI>未知服务器1的IP，服务器的作用未知，4字节 
<LI>未知服务器1的端口，2字节 
<LI>未知服务器2的IP，4字节 
<LI>未知服务器2的端口，2字节 
<LI>2个未知字节 
<LI>2个未知字节 
<LI>Client Key, 32字节 
<LI>12个未知字节 
<LI>上次登录时的IP，4字节 
<LI>上次登录时的时间，4字节 
<LI>8个未知字节 
<LI>尾部 </LI></OL><B><I>QQ_LOGIN_REPLY_REDIRECT：</I></B> 
<OL>
<LI>头部 
<LI>回复码，1字节 
<LI>用户QQ号，4字节 
<LI>重定向的服务器IP，4字节 
<LI>重定向的服务器端口，2字节 
<LI>尾部 </LI></OL><B><I>QQ_LOGIN_REPLY_PASSWORD_ERROR:</I></B> 
<OL>
<LI>头部 
<LI>回复码，1字节 
<LI>错误消息字符串 
<LI>尾部 </LI></OL><B>Note:</B> 登录回复包使用密码密钥加密，或者使用初始密钥加密，在处理时，应该先尝试使用密码密钥解密，如果失败，则再用初始密钥解密。为什么要这样呢，因为你可能密码输入错误，这样的话服务器用密码密钥加密的包你就解密不了了，所以会用初始密钥加密。 
<P></P>
<P><B>说明</B> 
<UL>
<LI>时间都是4个字节，其表示从1970-1-1开始的毫秒数再除以1000 
<LI>Client Key是用在访问一些网络服务时，比如QQ秀，通过Client Key，TX可以直接定位到你的QQ秀页面，还有什么QQ家园啦，有可能聊天室也要用到这个。 
<LI>那些未知的服务器，可能是用来发广告用的，猜想～ </LI></UL>
<P></P>
<H3>成功时</H3>
<P>登录成功或者重定向时，核心层会触发<I>QQ_LOGIN_SUCCESS</I>事件，这个事件携带的包是<I>LoginReplyPacket</I>，用户应该检查replyCode的值，然后进行相应的操作：<BR><BR>当replyCode为<I>QQ_LOGIN_REPLY_OK</I>时，有以下字段可用： 
<UL>
<LI><I><B>sessionKey:</B></I> byte[]，会话密钥 
<LI><I><B>ip:</B></I> byte[]，用户IP 
<LI><B><I>port:</I></B> int, 用户端口 
<LI><B><I>serverIp:</I></B> byte[], 服务器IP 
<LI><B><I>serverPort:</I></B> int, 服务器端口 
<LI><B><I>loginTime:</I></B> int, 本次登录时间 
<LI><B><I>lastLoginTime:</I></B> int, 上次登录时间 
<LI><B><I>clientKey:</I></B> byte[], Client Key </LI></UL>当replyCode为<I>QQ_LOGIN_REPLY_REDIRECT</I>时，有以下字段可用： 
<UL>
<LI><B><I>redirectIp:</I></B> byte[], 重定向到的服务器IP 
<LI><B><I>redirectPort:</I></B> int, 重定向到的服务器端口 </LI></UL>
<P></P>
<H3>重定向到零地址时</H3>
<P>在登录高峰期，登录重定向时有可能得到一个0地址，这时核心层会触发<I>QQ_LOGIN_REDIRECT_NULL</I>事件，这个事件携带的包是<I>LoginReplyPacket</I>，不过这个包没有什么可用信息。</P>
<H3>密码错误时</H3>
<P>如果密码错误，核心层会触发<I>QQ_LOGIN_PASSWORD_ERROR</I>事件，这个事件携带的包是<I>LoginReplyPacket</I>，可用的字段如下： 
<UL>
<LI><B><I>replyMessage:</I></B> String, 错误信息字符串 </LI></UL>
<P></P>
<H3>未知错误时</H3>
<P>如果回复码不是以上三种，则核心层会触发<I>QQ_LOGIN_UNKNOWN_ERROR</I>事件，这个事件携带的包是<I>LoginReplyPacket</I>，但是没有可用字段。 
<P><SMALL>LumaQQ is a Java QQ client which has a reusable pure Java core and SWT-based GUI</SMALL></P>]]></description>
</item><item>
<title><![CDATA[LumaQQ 跬步文档]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=godknows&amp;id=6327</link>
<author>godknows</author>
<pubDate>2005/6/4 0:03:46</pubDate>
<description><![CDATA[
<CENTER>
<H1>LumaQQ 跬步文档</H1>
<H3>请求登录令牌<BR></H3></CENTER>
<P><B>Luma, 清华大学<BR></B>更新时间: 2005-04-03</P>
<P>
<HR width="100%">

<P>登录QQ，要发的第一个包就是Request Login Token Packet。这个包会向服务器请求一个24字节大小的令牌（也不一定是24，只能说目前是24字节），然后在接下来的登录中，没有这个令牌，你是登录不了的。这个令牌是在服务器端生成的，具体的生成算法我们当然还无从得知，但是它肯定是参考了你的IP，你的端口，还有你的其他什么信息生成这个令牌的。因为你把在A机器上得到的令牌用到B机器上，你就会登录不了，如果你把A机器上的IP给改了，你照样也登录不了。 
<H3></H3>
<H3>请求包格式</H3>
<P>
<OL>
<LI>头部 
<LI>未知的1字节，0x00 
<LI>尾部 </LI></OL><B>Note:</B> 此包不加密 
<P></P>
<H3>回复包格式</H3>
<P>
<OL>
<LI>头部 
<LI>回复码，1字节，0x00表示成功 
<LI>登录令牌长度，1字节 
<LI>登录令牌 
<LI>尾部 </LI></OL><B>Note:</B> 此包不加密 
<P></P>
<H3>成功时</H3>
<P>操作成功时，核心层会触发<I>QQ_GET_LOGIN_TOKEN_SUCCESS</I>事件，这个事件携带的包是<I>RequestLoginTokenReplyPacket</I>，可用的字段如下: 
<UL>
<LI><I><B>replyCode:</B></I> byte，回复码 
<LI><I><B>loginToken:</B></I> byte[]，包含了得到的登录令牌 </LI></UL>
<P></P>
<H3>失败时</H3>
<P>操作失败时，核心层会触发<I>QQ_GET_LOGIN_TOKEN_FAIL</I>事件，这个事件携带的包是<I>RequestLoginTokenReplyPacket</I>，可用的字段如下: 
<UL>
<LI><B><I>replyCode:</I></B> byte，回复码 </LI></UL>
<P></P>
<P><SMALL>LumaQQ is a Java QQ client which has a reusable pure Java core and SWT-based GUI</SMALL></P>]]></description>
</item><item>
<title><![CDATA[QQ协议体系概述]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=godknows&amp;id=6326</link>
<author>godknows</author>
<pubDate>2005/6/4 0:01:30</pubDate>
<description><![CDATA[
<CENTER>
<H1>LumaQQ 跬步文档</H1>
<H3>QQ协议体系概述<BR></H3></CENTER>
<P><B>Luma, 清华大学<BR></B>更新时间: 2005-04-04</P>
<P>
<HR width="100%">

<P>QQ的协议非常庞大，这些做一些概述，要注意，<B>不要认为下面的说法一定是对的，只能说目前看起来好像是这样</B>:</P>
<H3>加密解密</H3>
<P>QQ的加密解密用的是TEA算法(puzzlebird的说法)，不详细解释了。QQ的包一般都是加密的（包头包尾除外），但是有个别包是不加密的，<B>以后如果不做特别说明，则默认这个包是需要加密的。</B>此外，用什么密钥加密也有不同，不过基本上都是用会话密钥加密，<B>以后如果不做特殊说明，表示是用会话密钥加密</B>。这里要注意一下，有时候你收到的包可能不是用会话密钥加密的，比如离线的消息。你人都不在了，哪里来的会话密钥？所以服务器在你下次登录的时候，会把你还没收到过的消息用密码密钥加密再传给你。这是一种特殊的情况，要分清楚。</P>
<H3>UDP和TCP</H3>
<P>QQ支持UDP和TCP登录（如果使用HTTP代理，则相当于TCP登录），UDP登录没有什么好说的，TCP登录时，不管什么包的开头两字节都是包长度，这个长度包括了这两个字节。</P>
<H3>包头包尾</H3>
<P>QQ协议有多种包头，每种包头都分别代表了一类用途的包，但是不是所有的包都有包尾，以下是一些存在的包头包尾格式参考</P>
<TABLE border=1>
<TBODY>
<TR>
<TH>包头</TH>
<TH>包尾</TH>
<TH>包头之后的固定格式</TH>
<TH>说明</TH></TR>
<TR>
<TD>0x00</TD>
<TD>无</TD>
<TD>
<UL>
<LI>发送方QQ版本，或者是服务器版本，2字节 
<LI>随机密钥，1字节，如果这个字节是0x23，那么密钥就是0x23232323，这个密钥用来加密发送者和接受者的QQ号。加密算法: QQ号取反再与密钥异或 
<LI>发送者QQ号的加密形式，4字节 
<LI>接受者QQ号的加密形式，4字节 </LI></UL></TD>
<TD>0x00系列的包，用在文件传输过程中，传递控制信息。也会出现在点对点通信中。</TD></TR>
<TR>
<TD>0x02</TD>
<TD>0x03</TD>
<TD>
<UL>
<LI>源标志, 2字节，表示了这个包从何处来，主要用来标识客户端版本，如果其标识的是服务器，这个字段的具体用处还不清楚 
<LI>包命令, 2字节 
<LI>包序号, 2字节, 原则是保证短期内这个序号不要重复就可以，一般我们处理的时候都是递增，到最大再归0 </LI></UL></TD>
<TD>0x02系列包主要完成一些基本任务，基本上处理了这个系列的包，QQ的功能就差不多了。</TD></TR>
<TR>
<TD>0x03</TD>
<TD>无</TD>
<TD>格式同第一行</TD>
<TD>0x03系列的包，用在文件传输过程中，传递数据信息</TD></TR>
<TR>
<TD>0x04</TD>
<TD>0x03</TD>
<TD>
<UL>
<LI>客户端版本号，2字节 
<LI>整个的包长，2字节 
<LI>序号，2字节 
<LI>我的QQ号，4字节 
<LI>未知的8字节 </LI></UL></TD>
<TD>0x04系列的包，用在文件传输过程中，如果使用服务器中转模式传送文件，则用到这些包</TD></TR>
<TR>
<TD>0x06</TD>
<TD>未知</TD>
<TD>未知</TD>
<TD>还没怎么研究过这种包是干什么的</TD></TR></TBODY></TABLE>
<P><SMALL>LumaQQ is a Java QQ client which has a reusable pure Java core and SWT-based GUI</SMALL></P>]]></description>
</item><item>
<title><![CDATA[世界上最强悍的中国英语]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=godknows&amp;id=5861</link>
<author>godknows</author>
<pubDate>2005/5/17 18:22:27</pubDate>
<description><![CDATA[<STRONG><FONT size=2>世界上最强悍的中国英语<BR><BR></FONT></STRONG>1．we two who and who？ <BR><BR>　　 咱俩谁跟谁阿 <BR><BR>　　 2．how are you ? how old are you? <BR><BR>　　 怎么是你，怎么老是你？ <BR><BR>　　3．you don't bird me,I don't bird you <BR><BR>　　你不鸟我，我也不鸟你 <BR><BR>　　4．you have seed I will give you some color to see see, <BR><BR>　　brothers ！ together up ！ <BR><BR>　　 你有种，我要给你点颜色瞧瞧，兄弟们，一起上！ <BR><BR>　　5．hello everybody!if you have something to say,then <BR><BR>　　say!if you have nothing to say,go home!! <BR><BR>　　有事起奏，无事退朝 <BR><BR>　　6．you me you me <BR><BR>　　 彼此彼此 <BR><BR>　　7．You Give Me Stop!! <BR><BR>　　 你给我站住！ <BR><BR>　　8．know is know noknow is noknow <BR><BR>　　 知之为知之，不知为不知... <BR><BR>　　9．WATCH SISTER <BR><BR>　　 表妹 <BR><BR>　　10．dragon born dragon,chicken born chicken,mouse''son <BR><BR>　　can make hole!! <BR><BR>　　龙生龙，凤生凤，老鼠的儿子大地洞 <BR><BR>　　11．American <BR><BR>　　Chinese not enough <BR><BR>　　美中不足 <BR><BR>　　12．one car come one car go ,two car pengpeng,people die <BR><BR>　　 车祸现场描述 <BR><BR>　　13．heart flower angry open <BR><BR>　　心花怒放 <BR><BR>　　14．go past no mistake past <BR><BR>　　 走过路过，不要错过 <BR><BR>　　15．小明：I am sorry! <BR><BR>　　 老外：I am sorry too! <BR><BR>　　小明：I am sorry three! <BR><BR>　　 老外：What are you sorry for? <BR><BR>　　小明：I am sorry five! <BR><BR>　　16．If you want money,I have no; <BR><BR>　　if you want life,I have one! <BR><BR>　　 要钱没有，要命一条 <BR><BR>　　17．I call Li old big. toyear 25. <BR><BR>　　我叫李老大，今年25。 <BR><BR>　　18．you have two down son。 <BR><BR>　　你有两下子。 <BR><BR>　　19．as far as you go to die <BR><BR>　　有多远，死多远 <BR><BR>　　20．I give you face you don''t wanna face,you lose you <BR><BR>　　&nbsp;&nbsp;&nbsp;&nbsp;face ,I turn my　face <BR><BR>　　 给你脸你不要脸，你丢脸，我翻脸 <BR>]]></description>
</item><item>
<title><![CDATA[央视幸运52发生的大笑话,太强,李咏都笑趴下了]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=godknows&amp;id=5860</link>
<author>godknows</author>
<pubDate>2005/5/17 18:20:59</pubDate>
<description><![CDATA[3月5日央视幸运52<BR><BR>猜词秀环节 <BR><BR>一对夫妻，猜食品名称，老婆比划老公猜。大屏幕上跳出“馒头“一词 <BR><BR>老婆描述：圆圆的，白白的，能吃的 <BR><BR>老公：………… <BR><BR>老婆继续描述：就是白白的，软软的，你昨晚上还吃来着！ <BR><BR>老公看来是急坏了，脱口而出：“mimi！“ <BR><BR>李咏都笑趴下了。。。。。]]></description>
</item><item>
<title><![CDATA[男生调戏女生后，老师的经典评语]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=godknows&amp;id=5859</link>
<author>godknows</author>
<pubDate>2005/5/17 18:20:19</pubDate>
<description><![CDATA[<STRONG><FONT size=2>男生调戏女生后，老师的经典评语<BR><BR></FONT></STRONG>男生调戏女生后，老师的经典评语<BR>小学一年级： <BR>在女同学面前脱裤子，女同学说是调戏她们！ <BR>老师语录：“流氓不可怕，就怕流氓没文化！所以你要好好学习，天天向上，争做“有文化，有知识，有学问，有才气”的四有流氓！” <BR>小学二年级： <BR>拍女同学的屁股！ <BR>老师语录：“不打她，不骂她，要用感情折磨她！才是调戏女生的至高境界，你要努力提高自己的调戏品位了” <BR><BR>小学三年级： <BR>摸女同学的脸，结果被女同学把我的脸抓花！ <BR>老师语录：“爱情诚可贵，生命价更高，留的青山在，不怕没柴烧！切记，珍惜生命，远离美女！” <BR><BR>小学四年级： <BR>拉女同学的手，被拒绝，学习成绩直线下降！ <BR>老师语录：“中华儿女千千万，一个不行接着换，你没有采到的只是春天的一朵花，整个春天还是属于你的，不要灰心，要屡战屡败，屡败屡战！” <BR><BR>小学五年级： <BR>调戏女同学不成，反被调戏！ <BR>老师语录：“男生不流氓，发育不正常，你还被女生调戏了，看来必须要参加体育锻炼，增强体质了，没事来老师家擦擦玻璃，拖拖地也是好的！”]]></description>
</item><item>
<title><![CDATA[中国历史十大常胜军]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=godknows&amp;id=5858</link>
<author>godknows</author>
<pubDate>2005/5/17 18:19:12</pubDate>
<description><![CDATA[
<P>中国历史十大常胜军&nbsp;&nbsp;<BR></P>
<P>TOP10：蒙古铁骑<BR>点评：扫欧洲，克中东，灭金朝，平南宋，在整个十三世纪里无敌于天下。这样一支军队谁人不怕。与传统的游牧民族军队不同，这支军队既有超强的个人战斗力，又有汉人所擅长的严格的军事纪律和先进的武器装备，既能进行大规模骑兵作战，又配备当时最先进的火炮，具有超强的远距离打击能力。真是将科技优势与战斗力完美结合的典范，难怪欧洲人将之称之为“黄祸”。</P>
<P><BR>TOP9：岳家军<BR>点评：《射雕英雄传》里有一情节，成吉思汗在听郭靖说完岳飞的故事后感叹：恨不早生百年，与这位英雄交手。今人对岳家军和蒙古军谁弱谁强的问题还有颇多争论，但我宁愿投岳家军一票。因为蒙古军面对已经衰亡的金军，仍然不能速战胜之，常常在兵力占绝对优势的情况下依然打的举步维艰。而岳家军面对鼎盛时期的金军，即使是兵力劣势，依然能战而胜之，战斗力之强大由此可见。更为重要的是，蒙古军是一群强盗，岳家军是一支为保卫家园而战的正义之师。以正义对邪恶，蒙古军又怎能不败，若成吉思汗早生百年，相信蒙古民歌里也会悲哀的歌唱：撼山易，撼岳家军难。</P>
<P><BR>TOP8：汉军<BR>点评：卫青，霍去病，李广，赵充国，一连串流光异彩的名字，无不让每个中国人神往，让每个中国人自豪。匈奴人当年横行欧洲，十三国联军竟不能挡，西罗马帝国迅速灭亡。这样一支强大的军队，却最终倒在了汉军的铁蹄下。汉军是一支将游牧民族的野蛮精神与汉朝人的战术纪律发挥到极致的一支军队。严酷的训练和优秀的将领造就了这支军队强大的战斗力。匈奴人被欧洲人称为闪电的鞭子，那如果他们遇见汉军呢！相信他们宁愿遇见匈奴，也不愿遇见卫青霍去病们。汉王朝存在了400多年，与其他朝代不同的是，即使是其处于统治末期，其军队依然保持着强大的战斗力。这点更是其他王朝不能比拟的。</P>
<P><BR>TOP7：秦军<BR>点评：秦军扫六合而得天下，兵威之猛，世所罕见。秦军可以说是中国历代军队中最具备国家军队性质的常胜军，与岳家军等私家军性质的武装相比，秦军无论是谁指挥，都可以打出辉煌的战绩，其军队的强大令人瞠目结舌。秦军有当时世界上最好的军事制度，足够激起士兵心中对战争的渴望，秦军还有当时世界上最严明的军事纪律，军令如山，誓死前行。秦军还有当时世界上最好的战车和弩箭。这一切都使其称霸天下。汉军战匈奴，前后近百年，终解除边患，秦军河套会战一战定乾坤，打的匈奴十年不敢南下牧马，真是倚天不出谁与争锋，可以说，汉朝军事的成功是吸取了秦军优点的结果，但若两军相争，秦军无疑是占据了上风的。</P>
<P><BR>TOP6：满洲八旗<BR>点评：现在人说到满洲八旗，都会想到北京茶馆里的那些纨绔子弟，但在十七世纪的东亚，满洲八旗确实是一支横行天下的无敌之师，斗明朝，平朝鲜，战沙俄，一统中华，这支军队可以说是古代中国军事里最后的辉煌。这支军队的装备是相对低劣的，但他的尚武精神和士气都是最出色的。严格的军事编制，险恶的生活条件，强大的生存能力，使这支军队最终能击败明朝统一华夏。但是这支军队最终还是重复了蒙古大军的悲剧，在占领中原以后迅速蜕化，蜕化速度甚至是蒙古军的几倍，到17世纪下半叶，这支军队就基本已经变成了一群无用的草包，战台湾和平蒙古葛尔丹的战役基本都是由汉绿营军承担，八旗铁骑仅仅用了20年时间就成为了绝唱，只能寄生在北京的茶楼里按月领取铁杆庄稼过活，可谓是昙花一现。</P>
<P><BR>TOP5：袁崇焕关宁铁骑<BR>点评：明军里有句老话，叫女真不满万满万不可战，可这句神话却被一个叫袁崇焕的书生打破了，明朝实行文官带兵的弱智制度，可偏偏运气好，赶上了袁崇焕这个不世出的军事天才。宁远大战1万残兵斗败13万八旗铁骑，可那是攻防战，许多人并不以为然，但宁锦会战，关宁铁骑却实实在在的在野战里打败了满洲八旗。辽东军不过七万人，却铸就了一条让满洲人一筹莫展的宁锦防线，后来满清经蒙古入寇北京，关宁铁骑星夜驰援，九千骑兵硬是在北京城外阻击了十万八旗军，此战虽然胜的侥幸，但足以体现关宁铁骑强大的战斗力，假如崇祯皇帝用人不疑，那五年复辽并不是不可能实现的。关宁铁骑有不亚于满清八旗的高素质骑兵队伍，还有远强于八旗的火器装备，其骑兵多数配备了火龙枪，并有数百门一流火炮，可谓是能攻善守，尽管这支军队在数量上不如满洲八旗，但如果明朝真能给袁将军足够时间将军队扩充，那必将锤炼出一支无敌天下的精锐。可恨明朝皇帝自坏长城，遗恨千古。</P>
<P><BR>TOP4：东晋北府军<BR>点评：肥水之战是中国古代历史上最著名的一次以少胜多的战役，八十七万氐族军败于八万北府军，从此北府军声威天下。这是一支由南逃的北方农民组成的精锐之师，每个人都与五胡有血海深仇，每个人都把光复河山作为己任。这支军队有东晋最著名的战略家谢安，又有东晋最著名的将领刘牢之，可谓是精锐中的精锐，雄心勃勃的符坚碰到这样的对手，就算有八百七十万军队又怎能不败。胡人在战前疯狂叫嚣，要饮马长江，投鞭断流，结果却被八万汉族子弟兵打的丢盔卸甲。据说捷报传来的时候，谢安只是淡淡的说了句“小儿辈已破敌。”但归家的时候，却因兴奋过度连门槛都撞断了。可谓是狂喜。其实狂喜的又何止谢安呢！那个时刻，肥水的辉煌把那个世纪中国的历史浓缩成一刻永恒的绝唱，捷报传来的时刻，也许全中国的汉人都已经泪如雨下了。</P>
<P><BR>TOP3：大明水师<BR>点评：将大明水师列入常胜军也许无人同意，毕竟明朝黑暗腐败透顶。但是从鄱阳湖水战开始，到郑成功光复台湾，大明朝立国近三百年，大明水师却未曾遭遇一败，简直是常胜军中的常胜军，可惜中国古代军事向来重陆战轻水战，因此大明水师的光辉也就因此而淹没了。事实上大明水师确实是中国古代史乃至世界古代史上最强大的舰队，郑和下西洋的辉煌人所共知，斯里兰卡之战活捉其国王，大扬华夏国威。可惜后来明朝政府实行海禁，撤裁舰队，使倭寇横行，海防空虚，但经过戚继光整顿，大明朝水师重新焕发了战力。16世纪葡萄牙殖民者东来，本想变广东为其殖民地，但明朝水师在番于海战中将其重创，使其打消这个傻念头，转与中国通好。16世纪末日本发动侵朝战争，大明水师在露梁海战里全歼日本舰队，打的日本200年国力一蹶不振。即使到了腐败透顶的明朝中后期，大明水师依然两战澎湖，将荷兰水师击败，17世纪末更是一举收复台湾，打的有“海上马车夫”之称的荷兰狼狈而逃。明朝水师舰队规模之大，装备之精良，战斗力之强大，都为中国历代之最，明朝水师配备有各式样战船百种，其主战炮舰载炮四十多门，远超过同时代西班牙无敌舰队和英国皇家舰队的规模，堪称世界第一舰队。可惜如此强大的力量，后来在被满清收编并用于收复台湾后即被裁撤，天才水师将领施琅在侯爵位置上终老。后来的满清水师简直成了海上缉私队，在鸦片战争里被英国人打的片甲无存。</P>
<P><BR>TOP2：唐军<BR>点评：汉唐是中国封建社会的两个顶峰时代，而唐朝则更是将华夏武功发挥到极至。唐军是一支以汉人为主力兼有各民族士兵的混合战队，其武功极盛时曾远达里海地区。汉朝战匈奴，历经百年终告全胜。唐时的突厥其力量不弱于匈奴，而唐朝却一战定天下。李靖夜袭阴山，活捉突厥可汗，可谓千古奇功。后来唐朝军队开疆拓土，外蒙古和西域尽为中华版图。实为中国封建社会的辉煌时代。唐军装备精良，马匹充足，以骑兵为主要作战方式，却也初步配置了火器装备。攻坚战能力和野战能力都为一流。充足的国力和繁荣的经济为这支军队的强大提供了保证。唐军的主要对手也都为当时的强大民族，突厥后来横行西方，建立土耳其帝国，阿拉伯帝国横挎欧亚大陆，与唐朝并立。吐蕃帝国则雄据青藏高原，对中原虎视眈眈。但其与唐军的交锋却基本是败多胜少。唐朝与突厥鏖战几十年，打了一连串的胜仗，并收复突骑施抵挡阿拉伯帝国。唐朝战吐蕃更是涌现出一批名将，每一次对吐蕃的胜利都几乎是对其军力的毁灭性打击。即使到了唐朝衰弱期，吐蕃虽然几次攻克长安，却依然无力进兵中原。至于阿拉伯帝国，在天宝前期的几次中等规模的冲突里均败于唐军，后来倾其国力发动怛罗斯会战，20万阿拉伯军面对3万唐军依然难以战胜，最后只*唐军内部的反叛才将唐军打退，而阿拉伯军的自身损失却是唐军的几倍。实在前⒗怂涫び瘸埽凭浒苡热佟：罄醇词拱彩分冶ⅲ⒗仓瘴锤医饔颉？上д庋看蟮木樱钪栈故窃诎彩分业哪谡嚼锉换俚袅耍彩分液笏溆刑瞥癫呔幕曰停沼谀岩酝炜窭剑庋恢看蟮木樱仓挥性诩且淅锶ッ寤匙芬淞恕?/P&gt; 
<P>TOP1： 中国人民解放军</P>
<P><BR>我们的队伍向太阳，脚踏着祖国的大地，我们的队伍向太阳，我们是一群不可战胜的力量。这是一支威武之师，这是一支文明之师，这是一支常胜之师，这是一支人民之师，这是中国五千年来涌现的最强大的一支部队，这，就是中国人民解放军。他们与历代军队不同的是，他们几乎汇聚了一切中国人优秀的品质与坚贞的信仰，他们几乎承载了中华民族五千年所有值得骄傲的民族精神！他们是真正的为人民的安定幸福和亲人的安宁而战，他们中的每个士兵，几乎都背着沉重的家庭负担，几乎都忍受着社会的非议，但是只要军号一响，他们前仆后继冲锋向前，从来都是那样义无返顾。这是一支在品质上和精神上都永远值得我们尊重的军队。他们待遇低廉，生活条件恶劣，即使牺牲了，也只能得到一点小小的抚恤金，而他们又是那样充满牺牲和奉献精神，当祖国需要的时候，他们会不顾一切的发起冲锋，纵然血沃沙场，依旧是含笑九泉。朝鲜战场斗美国，打的二十四国联军望风而逃，英国将军发出“谁敢和中国打仗谁是疯子”的感叹。西藏战场斗印度，几乎兵临新德里，东北战场战苏联，英勇的珍宝岛战役，把所有叫嚣要用武力惩罚中国的苏联人打的闭上了嘴巴。西南战场惩越南，打的越南北部寡妇村无数，打的小越政权最终向中国认输。建国56年，这支军队身经大小百余战，却从未丢失一寸土地，从未打过一次败仗，他们用鲜血和生命为十亿中国人民铸造了一条钢铁长城。留下了数不清的英雄的名字，黄继光，邱少云，孙玉国，张大权，李建国……那一串有名的无名的英雄，造就了一个光辉的名字——中国人民解放军！！！这，就是我们的子弟兵，这就是当代中国最可爱的人。面对这样一支军队，你有什么理由不为自己是中国人而自豪，你有什么理由不相信中国一定会崛起，会强大。中国不会亡，中国一定强，因为有我们的人民解放军，我们的人民子弟兵，有我们当代最可爱的人。<BR><BR></P>]]></description>
</item><item>
<title><![CDATA[一个罕为人知的无敌命令 几乎清除所有进程]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=godknows&amp;id=5371</link>
<author>godknows</author>
<pubDate>2005/4/28 19:53:20</pubDate>
<description><![CDATA[<STRONG>一个罕为人知的无敌命令&nbsp;几乎清除所有进程<BR></STRONG>问:怎么才能关掉一个用任务管理器关不了的进程？我前段时间发现我的机子里多了一个进程，只要开机就在，我用任务管理器却怎么关也关不了 <BR><BR>　　答1:杀进程很容易，随便找个工具都行。比如IceSword。关键是找到这个进程的启动方式，不然下次重启它又出来了。顺便教大家一招狠的。其实用Windows自带的工具就能杀大部分进程：<BR><BR>　　c:\&gt;ntsd -c q -p PID <BR><BR>　　只有System、SMSS.EXE和CSRSS.EXE不能杀。前两个是纯内核态的，最后那个是Win32子系统，ntsd本身需要它。ntsd从2000开始就是系统自带的用户态调试工具。被调试器附着(attach)的进程会随调试器一起退出，所以可以用来在命令行下终止进程。使用ntsd自动就获得了debug权限，从而能杀掉大部分的进程。ntsd会新开一个调试窗口，本来在纯命令行下无法控制，但如果只是简单的命令，比如退出(q)，用-c参数从命令行传递就行了。NtsdNtsd 按照惯例也向软件开发人员提供。只有系统开发人员使用此命令。有关详细信息，请参阅 NTSD 中所附的帮助文件。用法:开个cmd.exe窗口，输入：<BR><BR>　　ntsd -c q -p PID <BR><BR>　　把最后那个PID，改成你要终止的进程的ID。如果你不知道进程的ID，任务管理器－&gt;进程选项卡－&gt;查看－&gt;选择列－&gt;勾上"PID（进程标识符）"，然后就能看见了。 <BR><BR>　　答2：xp下还有两个好东东tasklist和tskill。tasklist能列出所有的进程，和相应的信息。tskill能查杀进程，语法很简单：tskill 程序名！！&lt;!-- / message --&gt;&lt;!-- sig --&gt;]]></description>
</item>
</channel>
</rss>