¶ÔÓÚÓÐЩϲ»¶ÐÞ¸ÄÔ´´úÂëµÄÈË£¬ÕâÀïÊÇÒ»¸öÖ¸ÄϵĿª¶Ë¡£ÎÒÏ뵽ʲô˵ʲô£¬µÚһƪ˵˵ÈçºÎÐÞ¸ÄÔ´´úÂëÈÃÄãÓÃTMµÇ¼¡£
Äã²»ÏëʹÓÃQQµÇ¼£¬ÏëʹÓÃTMµÇ¼ô£¿Í¨¹ýÐÞ¸ÄÔ´´úÂ룬ÊǺܼòµ¥µÄ¡£
ÆäʵTMºÍQQµÄÐÒéÊÇÒ»ÑùµÄ£¬ËäÈ»ÓÐЩ¹¦ÄÜTMÓÐQQûÓУ¬µ«ÊÇ»ù±¾É϶¼²»ÊÇ·þÎñÆ÷µÄÏÞÖÆ¡£¾Ù¸öÀý×Ó˵£¬TMÀïÃæÓиö¡°ÒþÉí¶ÔijÈ˿ɼû¡±¹¦ÄÜ£¬ÃüÁîÊÇ0x0024£¬ËäÈ»QQÀïÃæûÓÐÕâ¸ö¹¦ÄÜ£¬µ«ÊÇÄãÈç¹ûÕæµÄͨ¹ýQQ·¢ËÍÕâ¸öÃüÁ·þÎñÆ÷Ä¿Ç°ÊDz»»á¾Ü¾øµÄ¡£
PS: ËùÒÔÎÒÒ»Ö±¾õµÃTM²»¹ýÊǽçÃæ¸Ä¸Ä°ÕÁË£¬ÀïÃæµÄ¶«Î÷£¬Õվɡ£
ÎÒÃÇ¿´Ò»ÏÂQQ.java, ÓÐÕâôһ¸ö³£Á¿
public static final char QQ_CLIENT = QQ_CLIENT_0E1B;
Äã°ÑËû¸Ä³É
public static final char QQ_CLIENT = 0x0F0A;
È»ºóÄãÔÙÔËÐУ¬LumaQQ¾Í³ÉÁËLumaTMÁË
»ù±¾ÉÏɶҲû¸É£¬ÊDz»ÊÇ¡£QQ_CLIENTÊÇ°æ±¾±êʶ£¬0x0F0A±íʾµÄÊÇTM 2006дº°æ¡£TMºÍQQ»ù±¾ÉϾÍÕâµã²î±ð¡£Ò²Ðí¿äÕÅÁ˵㡣
ÄãÔõô֪µÀÐÞ¸ÄÁËÕâ¸ö³£Á¿¾ÍÊÇTMÁË£¿¼ÙÉèÄãÓÐÁ½¸öºÅÂëAºÍB£¬ÄãÓÃÌÚѶTM°ÑAÉè³ÉÒþÉí¶ÔB¿É¼û¡£È»ºó³¢ÊÔÓÃLumaQQµÇ¼A£¬¿´¿´ÐÞ¸ÄÇ°ºóÔÚBµÄÄDZßÓÐûÓÐÇø±ð£¬¾ÍÖªµÀÁË¡£
µ«ÊÇLumaTM»¹ÊÇQQ½çÃ棿Õâ...£¬Õâ²»Ö¸ÄϲſªÊ¼Âð£¿ÄÄÓпհѽçÃæÔõô¸Ä¶¼Ò»´Î˵ȫÁË¡£
59.25.9.* ÓÚ 2007-07-19 06:02:46·¢±í:
http://www.ringtones-dir.net/get/ ringtones site free. Free nokia ringtones here, Download ringtones FREE, Best free samsung ringtones. From website .
59.25.9.* ÓÚ 2007-07-19 06:02:41·¢±í:
http://www.ringtones-dir.net/get/ ringtones site free. ringtones download: Free nokia ringtones here, Download ringtones FREE, Best free samsung ringtones. samsung ringtones From website .
59.25.9.* ÓÚ 2007-07-19 06:02:40·¢±í:
http://www.ringtones-dir.net/download/ download ringtones. nokia ringtones: Free nokia ringtones here, Download ringtones FREE, Best free samsung ringtones. http://www.ringtones-dir.net/free/ [link=http://www.ringtones-dir.net]ring tones[/link] From site .
yorktown ÓÚ 2006-10-03 21:00:35·¢±í:
ÓеãÄÑ£¡
romeobh ÓÚ 2006-08-23 15:36:31·¢±í:
CVSÖУ¬JQLÔٴγÐÊÜÁË´óÁ¿µÄÖع¹£¬Õâ´ÎµÄÄ¿±êÊdz¹µ×·ÖÀëÐÒé²ãºÍÍøÂç²ã¡£Öع¹ÒѾÍê³É£¬jql_netÖеĴóÁ¿°ü¶¼±»×ªÒƵ½ÁË jql_protocolÖУ¬ÔÚjql_protocolÖÐÔö¼ÓÁËÒ»¸öedu.tsinghua.lumaqq.qq.net°ü£¬ÕâÀïÃæ»ù±¾¶¼ÊÇһЩ½Ó¿Ú£¬Ã»ÓÐÌ«¶à¾ßÌåʵÏÖ¡£¶øjql_net³äµ±ÁËÕâЩ½Ó¿ÚµÄʵÏÖ¡£ËùÒÔjql_netÏÖÔÚÊÇÍêÈ«¿ÉÑ¡µÄÁË(Èç¹ûÓÐÆäËûÍøÂçʵÏֵĻ°)¡£²»ÏñÒÔÇ°£¬ jql_netÀïÃæ»ìÔÓ×ÅһЩºÍÍøÂçûÓÐÌ«¶à¹ØϵµÄ´úÂë¡£
ÏÖÔÚÄã¿ÉÒÔȥʵÏÖÄã×Ô¼ºµÄÍøÂç²ãÁË£¬±ÈÈçÄã²»ÏëÓÃNIO£¬ÏëÓøö´«Í³IO¡£»òÕߣ¬ÄãÉõÖÁ¿ÉÒÔʵÏÖÒ»¸ö"αÍøÂç²ã"£¬¼Ù×°½¨Á¢ÁËÁ¬½Ó£¬µ«ÊÇʵ¼ÊÉϻظ´°ü¶¼ÊÇ´ÓʲôÊý¾Ý¿âÀïÃæ¶Á³öÀ´µÄ£¬ÕâÒ²¿ÉÒÔ×öΪµ÷ÊÔµÄÒ»ÖÖ·½·¨¡£
romeobh ÓÚ 2006-08-23 15:36:17·¢±í:
¿ªÔ´ÏîÄ¿´ó¶àÊý¶¼È±·¦Îĵµ£¬LumaQQÒ²Èç´Ë¡£´ó²¿·ÖÔÒòÊÇÎұȽÏÀÁ£¬²»ÏëдÕâЩÍæÒâ¡£µ«ÊÇ×¢ÊÍÀïÃæÓкܶàÄÚÈÝ¿ÉÒÔÓÃÀ´×öΪÎĵµ£¬Èç¹ûÄÜÀûÓÃÆðÀ´£¬¿ÉÒÔÃÖ²¹Îĵµ²»¹»µÄÎÊÌâ¡£
Òª×öÎĵµ£¬¾ÍÓÐÁ½¸öÎÊÌâ
1. ÔõôÑù°ÑÔ´´úÂëµÄ×¢ÊÍÕûÀí³ÉÎĵµ
2. ÎĵµÕûÀí³öÀ´ÁËÖ®ºó£¬Ôõô±£³Ö¸üУ¬Ôõôά»¤£¬ËÓÐÕâô¶àÏй¦·òÀ´¹ÜËü£¿
ÎÒûÓÐÕâô¶àÏй¦·ò£¬ÄãÃÇÒ²²»»áÓУ¬Ò²²»Ö¸ÍûÄãÃÇÓÐÁË¡£ÒÔÇ°ÓÐЩÈË×Ô¸æ·ÜÓµÄÀ´°ïÎÒÕûÀíÎĵµ£¬È·ÊµÕûÀíÁËһЩ£¬¾«ÉñÊǿɼεģ¬³É¹ûÊÇ¿´µÄ¼ûµÄ¡£µ«ÊÇÖ»½â¾öÁ˵ÚÒ»¸öÎÊÌ⣬ÎÞ·¨½â¾öµÚ¶þ¸öÎÊÌâ¡£ËùÒÔÎĵµµÄÕæÕýÎÊÌâÊÇ£ºÄãÒ²ÐíÓо«Á¦°ÑÎĵµÐ´³öÀ´£¬È´Ã»¾«Á¦¸üÐÂά»¤Ëü¡£
Õ⼸ÌìÎÞÁÄ£¬ÖØп¼ÂÇÁËÎĵµµÄÎÊÌ⣬¾õµÃJDK 1.5µÄAnnotationÌØÐÔ£¬ºÜÊʺÏÀ´×öÕâÑùµÄÊÂÇ飬¶øÇÒ¿ÉÒԱȽϺõĽâ¾öÎÊÌâ1ºÍÎÊÌâ2¡£Í¬Ê±£¬ÎÒ¿ÉÒÔ˳±ãѧϰѧϰÕâ·½ÃæµÄÄÚÈÝ£¬ÖµµÃÒ»×ö¡£
ËùÒÔÎÒCVSÖÐÔö¼ÓÁËÒ»¸öLumaQQ_tools_2006ÏîÄ¿¡£°´ÕÕÃû×ÖËùʾ£¬ÊÇLumaQQ¸½¼Ó¹¤¾ßµÄÏîÄ¿¡£Ä¿Ç°¾ÍÖ»ÓÐÎĵµ×Ô¶¯Éú³É¹¤¾ßÔÚÀïÃæ¡£ÎÒ¼òµ¥½éÉÜÒ»ÏÂÕâ¸ö¹¤¾ßÈçºÎ¹¤×÷¡£
ΪÁË·½±ã×Ô¶¯Éú³ÉÎĵµ£¬ÎÒÔÚjql_protocol_2006ÖÐÌí¼ÓÁËÒ»¸ö°ü: edu.tsinghua.lumaqq.qq.annotation¡£Õâ¸ö°ü°üº¬ÁËһЩ×Ô¶¨ÒåµÄAnnotation£¬ÓÃÀ´±ê×¢¸÷¸ö°üºÍQQʼþ¡£ÎÒ²»Ò»Ò»½éÉÜÁË£¬ÕâЩÄÚÈݱȽϼòµ¥¡£
ÓÐÁËAnnotation£¬ÏÖÔÚµÄÎÊÌâ¾ÍÊÇÔõô´¦ÀíÁË¡£JDK 1.5ÖеÄapt¹¤¾ßÊǸö»¹²»´íµÄÍæÒ⣬Ëü¾ÍÊÇÓÃÀ´¸ÉÕâ¸öʵģ¬µ±È»ÎÒÃÇÐèÒª×öһЩ±à³ÌµÄ¹¤×÷¡£»ù±¾ÉÏ£¬¾ÍÊÇÐèҪʵÏÖÒ»¸ö AnnotationProcessorFactory½Ó¿Ú£¬ÊµÏÖÒ»¸öAnnotationProcessor½Ó¿Ú£¬ÊµÏÖÒ»¸ö DeclarationVisitor½Ó¿Ú¡£¾ßÌåÔõô×öÎÒ²»ËµÁË£¬ÔÚsunµÄÍøÕ¾ÉÏÓнéÉܵÄÎĵµ£¬JDK 1.5µÄdocÀïÃæÒ²ÓУ¬»òÕßgoogle°É¡£
Ê×ÏÈÎÒ×Ô¼ºÐ´Á˸ö±È½Ï¼òµ¥µÄHTMLÄ£°å£¬¾Í¼¸¸öÍøÒ³£¬±ÈÈçÒ»¸ö°üÒ»¸öÍøÒ³£¬Ò»¸öQQʼþÒ»¸öÍøÒ³£¬ÕâЩģ°å¶¼ÊÇÓÃJETÀ´×öµÄ£¨¶ÔÓÚJET£¬²Î¼ûÒÔÇ°µÄÖ¸ÄÏ£©¡£Éú³Éʵ¼ÊµÄÍøÒ³£¬ÐèÒªÊý¾Ý£¬ÄÇôÎÒÔÙ°ÑÕâЩÊý¾Ý°ü×°µ½²»Í¬µÄBeanÖС£±ÈÈçΪÁËÉú³Éij¸ö°üµÄÍøÒ³£¬ÐèÒª´«µÝÒ»¸öPacketBean¶ÔÏó¡£ÄÇô½ÓÏÂÀ´µÄÎÊÌâ¾ÍÊÇÈçºÎÉú³ÉÕâЩBeanÁË¡£Õâ¸ö¾ÍÊÇDeclarationVisitorµÄ¹¤×÷ÁË¡£ÕâÊÇÒ»¸öÁ½²½µÄ¹ý³Ì£¬Ê×ÏÈÎÒÓÃÒ»¸ö CollectParameterVisitorÀ´ÊÕ¼¯Éú³ÉÎĵµËùÐèµÄËùÓвÎÊý¡£È»ºóÔÙÓÃÒ»¸öGeneratorVisitorÀ´Ö´ÐÐʵ¼ÊµÄÉú³É¹¤×÷¡£¾ÍÕâÑù£¬okÁË¡£
»¹Ã»ËµÔõôÓÃÕâ¸ö¹¤¾ß£¬àÅ£¬¿´¿´LumaQQ_tools_2006µÄbuild.xmlÎļþ£¬ÆäȱʡĿ±êÊÇbuild-manual£¬»¹ÓÃÎÒ˵ʲôÄØ£¬Ö±½ÓantÒ»°Ñ¾Í¿ÉÒÔÁË¡£Ã¿´ÎÉú³ÉµÄʱ¼ä»á¼Ç¼ÔÚÎĵµÖУ¬¾Í×öΪÎĵµ°æ±¾µÄ±êÖ¾ÁË¡£
·Ç³£ºÃ£¬ÎÒû»¨Ì«¶àʱ¼ä£¬¾Í¸ÄÉÆÁËÎĵµ²»×ãµÄÎÊÌ⣬Óв»Éٺô¦¡£
1. Òª¸Ä±äÎĵµµÄÑùʽ£¬»òÕßÌí¼ÓһЩʲôÄÚÈÝ£¬Ö»Òª¸Ä¸ÄÄ£°å£¬ÐÞ¸ÄÒ»ÏÂÏà¹Ø´úÂ룬ÓбØÒªµÄ»°¼Ó¼¸¸öAnnotation£¬ÔÙantÒ»°Ñ£¬¾ÍokÁË
2. ´úÂëÖеÄ×¢Ê͵õ½ÁË×î´ó³Ì¶ÈµÄÖØÓã¬ÎÒ²»ÓöîÍâдʲô£¬Îĵµ¾Í³öÀ´ÁË¡£
3. ͨ¹ýAnnotationºÍapt¹¤¾ß£¬ÊµÏÖÁËÎĵµÄÚÈݺÍÎĵµÑùʽµÄ·ÖÀ룬»òÕß˵£¬ModelºÍViewµÄ·ÖÀë¡£AnnotationÊÇModel£¬JETÄ£°åÊÇView£¬ÄÇЩ´úÂëÊÇController.
µ±È»ÁË£¬ÓÃjavadocÒ²¿ÉÒÔ×ö£¬Ö»²»¹ýÎÒ¸Ïʱ÷Ö£¬ÓÃAnnotationÀ´Íæ¡£àÅ£¬±ßÍæ±ßѧ£¬×ÔÓé×ÔÀÖ¡£
Ò²ÐíÄ¿Ç°ÎÒдµÄÍøҳģ°å»¹±È½ÏÓ×ÖÉ£¬²»¹ý¼ÈÈ»¿ò¼ÜÒѾ´î³öÀ´ÁË£¬ÒÔºóÏë¸Ä¾Í·½±ãÁË¡£¡¶LumaQQ¿ª·¢ÕßÊֲᡷ£¬ÏëÏÂÔصľÍÈ¥ÎĵµÒ³¿´¿´°É¡£
romeobh ÓÚ 2006-08-23 15:36:02·¢±í:
ÎÒÃÇÀ´Á˽âÒ»ÏÂ×Ô2006 M2Ö®ºó£¬ºËÐIJãÓÐÁËʲôÑùµÄ±ä»¯
JQLÀïÃæÓкܶà¹Ø¼ü²¿¼þ£¬ÏȽéÉÜһЩ¸ÅÄî
1. Porter£¬Æô¶¯Ò»¸öÒì²½I/OÑ»·£¬Ö±½Ó¼àÌýÍøÂçʼþ
2. Port, ´ú±íÁËÒ»¸ö¶Ë¿Ú£¬»òÕß˵´ú±íÁËÒ»¸öÁ¬½Ó£¬PortÐèҪע²áµ½PorterÖУ¬²ÅÄÜ»ñµÃÍøÂçʼþ
3. Parser£¬´ú±íÁËÒ»¸ö½âÎöÆ÷£¬ÓÃÀ´½âÎöij¸öÐÒé×åµÄ°ü
4. PacketHistory, ÊÇ°üµÄ»º³å£¬ÓÃÀ´¼ì²âÖظ´°ü
5. Processor£¬´ú±íÁËÒ»¸ö´¦ÀíÆ÷£¬ÓÃÀ´´¦Àíij¸öÐÒé×åµÄ°ü£¬¼Ì¶ø´¥·¢QQʼþ
6. QQClient£¬´ú±íÁËÒ»¸öQQ¿Í»§¶Ë
ÔÚ2006 M2֮ǰ
1. Ò»¸öQQClientÖ»ÓÐÒ»¸öPorter
2. Ò»¸öPorter¿ÉÒÔÓжà¸öPort
3. ÔÚÒ»¸öQQClientÖУ¬Ò»¸öÐÒé×åÖ»ÓÐÒ»¸öParser
4. ÔÚÒ»¸öQQClientÖУ¬Ò»¸öÐÒé×åÒ»¸öProcessor
5. Ò»¸öQQClientÖ»ÓÐÒ»¸öPacketHistory
ÄÇôÔÚ2006 M2Ö®ºó
1. ²»±ä
2. ²»±ä
3. ÔÚÒ»¸öPortÖУ¬Ò»¸öÐÒé×åÒ»¸öParser£¬Ò»¸öPortÖ§³ÖÄÄЩÐÒé×壬ͨ¹ýPortPolicyÖ¸¶¨
4. ²»±ä
5. Ò»¸öParserÒ»¸öPacketHistory
ËùÒԹؼüµÄ¸Ä±äÔÚ3£¬5¡£Í¨¹ý3£¬Ê¹Port¸ü¼ÓÁé»î¡£Í¨¹ý5£¬Ê¹°üÖظ´¼ì²âµÄ»úÖƸü¼ÓÁé»î¡£Æäʵ£¬4Ò²Ó¦¸Ã±äһϣ¬µ«ÊÇĿǰûÐèÇó£¬ËùÒÔÔÝʱ²»±ä¡£
Ôø¾Ìá¹ý£¬ÕâЩ¸Ä±äÊÇΪÁËʵÏÖÍøÂçÓ²Å̹¦ÄܵĹØϵ¡£ÍøÂçÓ²Å̵ÄÐÒéºÍÆäËûÐÒé×åÓÐÒ»¸öºÜ´óµÄ²»Í¬¾ÍÊÇ:
ÍøÂçÓ²ÅÌÐÒé°ü¿ÉÒԷdz£³¤£¬´øÀ´Á˽âÎöÉϺʹ¦ÀíÉϵÄÐÂÐèÇó¡£ÔÚ´úÂëÀïÃ棬ÿ¸öPort¶¼ÓÐÒ»¸ö·¢ËͺÍÒ»¸ö½ÓÊÕ»º³å£¬Æä×î´óÊÇ65535£¬ÓÉÓÚÍøÂçÓ²Å̵İü¿ÉÒԷdz£³¤£¬ËùÒÔÔö¼ÓÁËDiskInPacketFragmentÀ࣬ÓÃÀ´±íʾһ¸ö½ÓÊÕ°üµÄƬ¶Ï£¬ÏàÓ¦µÄParserÒ²ÐèÒª×öЩÐ޸ġ£ËùÒÔÍøÂçÓ²ÅÌÐÒé×åµÄParserºÍÆäËûÐÒé×åµÄParserÔÚʵÏÖÉÏÓÐЩ²î±ð¡£
romeobh ÓÚ 2006-08-23 15:35:45·¢±í:
ÔÚ¶ÔÍøÂçÓ²ÅÌÐÒéµÄ·ÖÎöÖУ¬·¢ÏÖÓбØÒª¶ÔJQL½øÐÐÖع¹£¬ÒÔʵÏÖ¸üÁé»îµÄÐÒ齨ģºÍµ÷ÊÔ
Ö÷Òª¸Ä±äÔÚ
1. Ôö¼ÓÁËPortPolicyÀ࣬¸ôÀëÍøÂçÊÕ·¢ºÍ°ü½âÎö¹¦ÄÜ£¬¼ò»¯ÁËPortºÍÐÒéÖ®¼äµÄ°ó¶¨²Ù×÷
2. ¼ò»¯ÁËIParser½Ó¿Ú£¬É¾³ýÁ˺ܶ಻±ØÒªµÄ·½·¨£¬¸ü¼Ó¼ò½à
3. ϸ·Öµ÷ÊÔ°ü¶ÔÏó£¬Ê¹Æä¶ÔÓ¦ÓÚÌض¨ÐÒé×å
4. ÓÉÓÚPortPolicyµÄÒýÈ룬µ¼ÖÂÁËÆäËûһЩÀàµÄÏàÓ¦Ð޸ģ¬±È½ÏËöË飬²»ÌáÁË
5. ϸ·Ö³¬Ê±Ê¼þ£¬Ê¹Æä¶ÔÓ¦ÓÚÌض¨ÐÒé×å
6. ÔÚPacketÖÐÔö¼ÓgetFamily·½·¨£¬Ã÷È·±êʶ°üËùÊôÐÒé×壬Å×ÆúÒÔÍùʹÓÃheader±êʶ°üÐÒé×åµÄ·½Ê½
7. ²»ÔÙÔÊÐíPortÖ±½Ó´¥·¢QQʼþ£¬½µµÍÁËËûÃÇÖ®¼äµÄñîºÏ
Öع¹ÎÞÖ¹¾³£¬µ«ÊÇÄ¿Ç°ÕâÑùÒѾÄÜÂú×ãÎÒÔö¼ÓÍøÂçÓ²Å̹¦ÄܵÄÐèÒª£¬ËùÒÔÔÝʱ¾ÍÕâÑù¡£
romeobh ÓÚ 2006-08-23 15:35:30·¢±í:
QQµÄÐÒé·Ç³£ÅÓ´ó£¬ÔõôͳһµÄÃèÊö°üµÄ½á¹¹£¬ÊÇÒ»¸öºÜÂé·³µÄÎÊÌâ¡£ÌÚѶµÄ°üÊDz»ÊÇÓиöͳһµÄ×¼Ôò£¬²»Çå³þ£¬µ±È»´ÓÉè¼ÆÉÏÀ´Ëµ£¬Í³Ò»µÄµ±È»ºÃ¡£
ÒÔÇ°ÒÔΪQQµÄ°ü¾ÍÄÇô¶à£¬Éè¼ÆµÄ¼òµ¥»¯ÁË¡£ºóÀ´¹¦ÄÜÔ½¼ÓÔ½¶à£¬¾Í½Ó´¥ÁËһЩû¼û¹ýµÄ°ü£¬·¢ÏÖÀà½á¹¹ÃèÊö²»ÁË£¬ËùÒÔÖ»ºÃ¸Äд£¬Ä¿Ç°µÄ½á¹¹ÊÇÒ»¸ö4²ãµÄÄ£ÐÍ£¬ÕæµÄ¹»ÓÃÂð£¿Ä¿Ç°À´Ëµ»¹´ÕºÏ
Ê×ÏÈÎÒÃǵÃÁ˽âÒ»ÏÂQQÄÇô¶à°üµÄ¹²Í¬µãºÍ²»Í¬µã£¬²ÅºÃÁ˽âJQLÖеÄÀà½á¹¹¡£
1. Ä¿Ç°¿´À´£¬QQµÄ°üÓаüÍ·£¬°üÌ壬°üβ֮·Ö£¬µ«ÊÇ°üβÔÚijЩÐÒé×åÀïÃæÊǸö¿ÉÑ¡µÄÍæÒâ¶ù
2. ÔÚijЩÐÒé×åÀïÃ棬°ü¸ñʽÓÖÓÐTCPºÍUDPÖ®·Ö£¬ÓÐЩûÓС£³éÏóÒ»µãÀ´ËµÄØ£¬UDPÊǼòµ¥µÄ£¬Ëæ±ã¶¨Òåʲô¸ñʽ¶¼¿ÉÒÔÂú×ãÒªÇó£¬TCPÊÇÁ¬ÐøµÄÊý¾ÝÁ÷£¬ÔÚÁ¬ÐøµÄÊý¾ÝÁ÷ÀïÃæ½âÎö°ü£¬¾ÍÐèÒªÓаü³¤¶ÈµÄÃèÊö¡£
3. °üÌåÓÐÈ«¼ÓÃÜ£¬²»¼ÓÃܺͲ¿·Ö¼ÓÃܵÄÇø±ð
4. °üÓÐÊäÈëºÍÊä³ö°üÖ®·Ö£¬²»¹ýÔÚÓÐЩÐÒé×åÀïÃæÕâ¸öÇø±ð²»Ã÷ÏÔ£¬ÉõÖÁ¿ÉÒÔ˵ÊäÈëºÍÊä³ö°üÊÇÒ»ÑùµÄ¸ñʽ
ΪÁËÄܹ»ÃèÊöÏÖÓеİü£¬²¢ÇÒÄܹ»ÎªÎ´ÖªµÄаüÌṩ¼æÈÝ£¬Ä¿Ç°ÀàµÄ²ã´ÎÓÐÕâÑù4²ã£¬Ïà¹ØÔ´´úÂëÇë²é¿´edu.tsinghua.lumaqq.qq.packets°üºÍ×Ó°ü
1. Ò»¸ö¶¥²ãµÄ»ùÀàPacket¡£ËüÌṩ×î»ù±¾µÄÃèÊöºÍºÜ¶à³éÏóµÄ·½·¨¡£±ÈÈçһЩͨÓõÄ×ֶΣ¬»¹ÓÐһЩͨÓõķ½·¨£¬µ«ÊÇÕâ¸ö»ùÀàµÄ´ó²¿·ÖÄÚÈÝ»¹ÊdzéÏó·½·¨£¬Áô´ý×ÓÀàʵÏÖ¡£Packet×îÖØÒªµÄµØ·½ÔÚÓÚÌṩÁËÒ»¸ö»ù±¾µÄÄ£ÐÍ£¬¾ÍÊÇ°Ñ°üµÄ¹¹ÔìºÍ½âÎö¹ý³Ì·Ö³ÉÁËÍ·£¬Ì壬βÈý²¿·Ö¡£Äã¿ÉÒÔÕÒµ½putHead, putBody, putTail·½·¨ÓÃÓÚ¹¹ÔìÒ»¸ö°ü£¬¿ÉÒÔÕÒµ½parseHead, parseBody, parseTail·½·¨ÓÃÓÚ½âÎöÒ»¸ö°ü¡£
2. Á½¸öPacketµÄ×ÓÀàInPacketºÍOutPacketÌṩ¶ÔÊäÈëºÍÊä³ö°üµÄ×î»ù±¾·â×°¡£PacketÀàÊÇͨÓõÄÄ£ÐÍ£¬Æä²»Éæ¼°ÊäÈëºÍÊä³ö°üÓÐʲô²»Í¬£¬ËùÒÔÎÒÃÇÐèÒªÕâÁ½¸ö×ÓÀàÀ´Ìṩ¸ü¾ßÌåµÄÃèÊö¡£InPacketºÜ¼òµ¥£¬Ã»Ê²Ã´Ì«¶àÄÚÈÝ£¬ÒòΪ½âÎö°üµÄ¹ý³ÌÊÇͨÓõģ¬·â×°ÔÚÁËPacketÖУ¬ËùÒÔ InPacketûÓжàÉÙÊÂ×ö¡£Ö÷ÒªÊÇOutPacket¶àÁ˲»ÉÙרÓÃÓÚÊä³ö°üµÄ·½·¨£¬±ÈÈçÖØ·¢´ÎÊý£¬³¬Ê±Ê±¼äµÈµÈ£¬»¹·â×°ÁËÊä³ö°üµÄÌî³ä¹ý³Ì¡£²é¿´ OutPacketµÄfill·½·¨£¬¿ÉÒÔ¿´µ½Êä³ö°üµÄÉú³É¹ý³Ì¡£
3. ÿ¸öÐÒé×壬·Ö±ð°üº¬ÁËÒ»¸öInPacketºÍOutPacketµÄ×ÓÀ࣬¶ÔÓÚÒ»¸öÌض¨µÄÐÒé×åÀ´Ëµ£¬°üÍ·°üÌå°üβÀïÃæµÄºÜ¶à¹²Í¬µãÒѾ¿ÉÒÔÈ·¶¨ÁË£¬ËùÒÔ¸¸ÀàÖеĺܶ෽·¨¿ÉÒÔÀ´ÊµÏÖÁË¡£
4. ×îÏÂÃæµÄÒ»²ã×ÔÈ»¾ÍÊǾßÌåµÄ°üÁË£¬¼Ì³Ð¸÷×ÔÐÒé×åµÄÊäÈëÊä³ö»ùÀ࣬»ù±¾ÉÏËûÃÇÐèҪʵÏֵķ½·¨Ö»ÓÐÒ»Á½¸ö£¬±ÈÈçputBodyºÍparseBodyµÈ¡£
ʵ¼ÊÉÏÄØ£¬Ä¿Ç°ÊÇÓÐ5²ãµÄ£¬ÔÚ»ù±¾ÐÒé×åÀïÃ棬ȺÊǺܴóµÄÒ»²¿·Ö¹¦ÄÜ£¬Èº°üÓÐһЩ¹²Í¬µã£¬ËùÓÐȺ°üÓÐÒ»¸ö»ùÀàµÄ¡£²»¹ýÄØ£¬ËµËüÊÇ4²ãÉè¼Æ¸ü׼ȷһЩ¡£
romeobh ÓÚ 2006-08-23 15:35:12·¢±í:
LumaQQÀïÃæÓõ½ÁËһЩWizard£¬±ÈÈçÔÚËÑË÷µÄʱºò£¬ÔÚ´´½¨ÈºµÄʱºò¡£JFaceÊÇ´øÁËÒ»¸öWizard¿ò¼ÜµÄ£¬ÓõľÍÊÇËüµÄ£¬Ö»²»¹ýÉÔ΢¸ÄÁËһϡ£
²é¿´edu.tsinghua.lumaqq.ui.wizard£¬¿´µ½IModelBasedWizard.java£¬ÕâÀï¶ÔIWizard×öÁËÁ½¸öÀ©Õ¹£¬µÚÒ»¸öÊDzÉÓÃÒ»¸ömodel¶ÔÏóÀ´±£´æwizardÖеÄÐÅÏ¢£¬ËùÒÔ£¬Äã¿´µ½ÁË£¬MVCģʽÊÇÎÞ´¦²»Ôڵġ£
µÚ¶þ¸öÀ©Õ¹ÊǼÓÁ˸öpreNext£¬ÓÃÀ´ÔÚµãNext°´Å¥Ö®Ç°×öһЩÊÂÇ飬Õâ¸öÐèÇóÔ´×Ô¶ÔQQµÄËÑË÷¹¦Äܵĵ÷²é¡£QQËÑË÷µÄʱºò£¬ÓÐʱºòÏÂÒ»²½²¢²»Êǵ½ÏÂÒ»¸öpage£¬¶øÊÇ´ò¿ªÒ»¸öä¯ÀÀÆ÷È¥ÍøÒ³ÉÏÕÒÁË¡£JFaceµÄwizard¿ò¼ÜËƺõÊDz»ÄÜÕâÑù×ö£¬ËùÒÔÎÒ¼ÓÁËÒ»¸öpreNext·½·¨¡£ÎªÁËÈÃÕâ¸ö·½·¨Äܹ»±»´¥·¢£¬Ê¹ÓÃÁËWizardWindowÀà¼Ì³ÐWizardDialogÒÔ±ãÄܲåÈëpreNext·½·¨£¬WizardWindow»¹ÓÐÒ»¸öÄ¿µÄ£ºÊ¹ Wizard´°¿Ú³ÉΪ¶ÀÁ¢´°¿Ú£¬¶ø²»ÊǶԻ°¿ò(Èç¹ûÊǶԻ°¿òµÄ»°£¬Ö÷´°¿Ú×îС»¯£¬ËüÒ²»á²»¼û£¬ËùÒÔÒª¸Ä³É¶ÀÁ¢´°¿ÚµÄ)£¬Õâ¸öÖ÷ÒªÊÇÖØÔØ getParentShell·½·¨£¬ÈÃËü·µ»Ønull£¬ËäÈ»Õâ¸ö·½·¨²»ÊǺÜÍƼö£¬µ«ÊÇËƺõ¼òµ¥ÓÖ·½±ã¡£
ÆäËûµÄÄÚÈݾÍûÓÐʲôÆæ¹ÖÁË£¬°´ÕÕJFaceµÄ±ê×¼¿ò¼Ü×ßÏÂÀ´¾Í¿ÉÒÔÁË¡£¿ÉÄÜÓÐÈ˾õµÃwizardÄÇЩ°´Å¥¶¼ÊÇÓ¢ÎĵIJ»Ë¬£¬Õâ¸ö¿ÉÒÔͨ¹ýÐÞ¸ÄjfaceµÄjar°üÀïÃæµÄpropertiesÎļþÀ´¸Ä£¬Äã¿ÉÒÔÊÔÊÔ¡£
romeobh ÓÚ 2006-08-23 15:34:56·¢±í:
¶ÔÓÚд½çÃæÀ´Ëµ£¬ºÜ´óµÄ¹¦·ò¶¼»¨ÔÚÁËд×é¼þÉÏ¡£ÎªÁ˽çÃ澡Á¿ºÃ¿´µã£¬ÎÒдÁËһЩ×Ô»æµÄ×é¼þ¡£Ö®ËùÒÔûȥʵÏÖƤ·ô£¬ÄÇÊÇÒòΪ̫·±ËöÁË£¬Ã»±ØÒª¡£
ÔÚedu.tsinghua.lumaqq.widgetsÏÂÃ棬¶¼ÊÇLumaQQÓõ½µÄһЩ×é¼þ¡£ÕâЩ×é¼þÄã¿ÉÒÔÖ±½ÓÄÃÈ¥Óá£
edu.tsinghua.lumaqq.widgets: һЩÉÐδ¹éÀàµÄ×é¼þ£¬Ö÷ÒªÊDZíÇéÍ·ÏñÑ¡ÔñµÄÄǸö´°¿Ú: ImageSelector.java¡£Í¨¹ýʵÏÖIImageSelectorAdvisor½Ó¿Ú£¬¿ÉÒÔÖ¸¶¨´°¿ÚµÄһЩÑùʽºÍ¿ÉÑ¡ÔñµÄͼƬÄÚÈÝ¡£
edu.tsinghua.lumaqq.widgets.mac: ÕâÏÂÃæÄ¿Ç°Ö»ÓÐÒ»¸ö×é¼þ£¬Ring.java¡£´Ó°üÃûÀ´¿´£¬ÕâÏÂÃæµÄ×é¼þÊÇһЩMac·ç¸ñµÄ×é¼þ£¬Èç¹ûÄãÓùýMac£¬Ò²ÐíÄã¶ÔMacµÄÄǸöתÀ´×ªÈ¥µÄ BusyָʾÆ÷ÓеãÓ¡Ïó£¬Ring¾ÍÊÇÕâ¸öÍæÒâ¡£Ring.java¸ºÔð´¦ÀíͨÓõÄÂß¼£¬×ªÈ¦µÄ·½Ê½ÊÇ¿ÉÒÔÀ©Õ¹µÄ¡£È±Ê¡µÄʵÏÖÊÇÔ²Ðεģ¬Èç¹ûÄãÏëÒª¸öÆäËûÐÎ×´µÄ£¬±ÈÈç˵£¬Õý·½ÐΣ»ÄÇôÀ©Õ¹IBorderPainterºÍISignPainter¾Í¿ÉÒÔÁË¡£¾ßÌå¿ÉÒԲο¼È±Ê¡µÄÔ²ÐÎʵÏÖ¡£
edu.tsinghua.lumaqq.widgets.menu: ÕâÀïÃæÊÇÒ»¸ö×Ô¶¨ÒåµÄ²Ëµ¥ÊµÏÖ£¬Ã»°ì·¨µÄ²úÎï¡£ÔÚLinuxÏÂÃæ´°¿ÚÖö¥Ê±£¬²Ëµ¥³ö²»À´£¬Ö»ºÃ×Ô¼ºÐ´ÁËÒ»¸ö¼òµ¥²Ëµ¥µÄʵÏÖ¡£ÓŵãÊÇÏëÔõô»¾ÍÔõô»£¬ÃÀ¹ÛÓÐËùÌá¸ß¡£È±µãÊÇ´øÀ´ÁËÒ»¸öbug£¬²»µãһϴ°¿ÚÆäËûµØ·½²Ëµ¥²»»áÏûÏ¢£¬ºÜÄÑ´¦Àí£¬ÏÖÔÚҲû½â¾ö£¬²»¹ýÏëÀ´ÏëÈ¥£¬Õâ¸öbug²»ÊÇÌ«ÑÏÖØ£¬ËùÒÔÒ²¾ÍÈÌÁË¡£
edu.tsinghua.lumaqq.widgets.qstyle: ¿´Ãû×Ö¿ÉÖª£¬ÕâÊÇQQÑùʽµÄ×é¼þ¡£QQʲôÑùʽ£¿±ÈÈçQQÄǸöºÃÓÑÁÐ±í£¬QQµÄbutton£¬µÈµÈ¡£×îÖ÷ÒªµÄÊÇQQµÄºÃÓÑÁÐ±í£¬ÎªÁË»ñµÃºÍQQÒ»ÑùµÄÊÓ¾õЧ¹û£¬Õâ¸öºÃÓÑÁбíÊÇ×îÖØÒªµÄ²¿·Ö¡£Ê×ÏÈwindows²»ÌṩÕâÑùµÄ¿Ø¼þ£¬SWTҲûÓУ¬Ö»ºÃ×Ô¼ºÐ´¡£ÔÚ2004֮ǰ£¬ÓõĽÐShutter£¬ÓÉÓÚËÙ¶ÈÉϲ»ÐУ¬ºóÀ´¸ÄдÁË£¬½Ð×öBlind£¬ÕâÁ½¸öµ¥´Ê¶¼ÊÇ°ÙÒ¶´°µÄÒâ˼¡£ShutterÒѾÅ×ÆúÁË£¬¾Í²»ÌáÁË¡£ÉÔ΢˵һÏÂBlind¡£Blindʵ¼ÊÉÏÊÇÒ»¸ö×éºÏ×é¼þ£¬²¢²»ÊÇ×Ô»æµÄ¡£BlindÉÏÃæµÄ°´Å¥ÊÇSlat£¬Êµ¼ÊµÄÄÚÈÝÇøÓòÊÇComposite×ÓÀà¡£ÔÚLumaQQÀïÃ棬BlindÀïÃæµÄÄÚÈÝÊÇ QTree×é¼þ£¬QTreeÊÇ×Ô»æµÄ£¬ËüÓÉQItem×é³É£¬QTreeViewerÄØ£¬ÊÇQTreeµÄMVC·â×°¡£Ö÷ÒªµÄÖػ湤×÷ÔÚQItemÀïÃ棬һ¸ö Item£¨ÐÎÏóÒ»µã˵£¬Ò»¸öºÃÓÑ£©·Ö³ÉÁ˺ܶಿ·Ö£¬ºÃÓѵÄÍ·ÏñÊÇÖ÷ͼ±ê£¬ºÃÓѵÄêdzÆÊÇÎı¾£¬ºÃÓÑÀ뿪µÄʱºò£¬Í·ÏñµÄÓÒÏÂÓиöСͼ±ê£¬Õâ½Ð×°ÊΣ¬ºÃÓÑÈç¹ûÊÇ°ó¶¨ÊÖ»úÓû§£¬Í·ÏñÅԱ߻áÓÐÊÖ»úͼ±ê£¬Õâ½Ð¸½¼þ£¬ÔÚȺÀïÃ棬»¹¿ÉÒÔ¿´µ½ÈºÏÂÃæÓÐ×éÖ¯£¬¿ÉÒÔÊÕÆðÕ¹¿ª£¬Í¼±êµÄÇ°Ãæ»áÓмӺżõºÅ±êÃ÷ÊÇ·ñÕ¹¿ª£¬Õâ½Ðǰ׺¡£ÊDz»ÊÇÓеãÔÎÁË¡£QItem´ÓQTreeÄÄÀïµÃµ½Ò»¸öÖØ»æµÄÆðʼλÖã¬Ëü×Ô¼º¸ºÔð¼ÆËã³ö×°ÊΣ¬¸½¼þ£¬Ç°×º£¬Îı¾µÄλÖã¬È»ºóÖØ»¡£ÎªÁËÖ§³Ö¶¯»£¬ÌṩÁË IEffect½Ó¿ÚÈÃÓû§¿ÉÒÔ×Ô¶¨ÒåÖØ»µÄÐÐΪ£¬¿ÉÒԲο¼IEffectµÄʵÏÖÀà²é¿´¾ßÌåµÄʵÏÖ¡£SlatÄØ£¬¾ÍÊÇQQÑùʽµÄbutton£¬Ò²ÊÇ×Ô»æµÄ£¬±È½Ï¼òµ¥¡£LevelBarÊÇÒ»¸öµÈ¼¶Ìõ£¬ÓÃÀ´ÏÔʾºÃÓѵĵȼ¶£¬È±Ê¡Ê¹ÓÃÌ«ÑôÔÂÁÁÐÇÐÇÀ´±íʾ£¬Í¼±êÊÇ¿ÉÒÔ»»µÄ£¬ÌṩÁËAPIÉèÖá£BubbleÊÇÒ»¸ö MSNÄÇÑùµÄðÅÝ´°¿ÚµÄ¼òµ¥ÊµÏÖ£¬»¹Ã»ÓÐÔÚLumaQQÀïÃæÓõ½£¬DieAwayÄØ£¬ÊÇÒ»¸öµÈëµ³öµÄ´°¿Ú£¬QQÉÏÏßÌáʾÄÇÑùµÄ£¬²»¹ýҲûÓÐÓõ½¡£
edu.tsinghua.lumaqq.widgets.record: ÁÄÌì¼Ç¼µÄÏÔʾ¿Ø¼þ£¬ÒÔÇ°ÓõÄÊÇtable£¬ºóÀ´¸Ä³ÉQQÑùʽµÄÁË£¬Ëæ±ã¸øÄǸö¿Ø¼þÆðÁ˸öÃû×Ö½ÐWaterfall£¬ÒòΪÊÇ´ÓÉϵ½ÏÂÏÔʾÏÂÀ´µÄ¡£ÒÔÇ°Óà tableµÄʱºò£¬Åöµ½¶àÐеÄÏÔʾ²»ºÃ£¬ÏÖÔÚʹÓÃWaterfall¾Í¿ÉÒÔÁË¡£
edu.tsinghua.lumaqq.widgets.rich: Õâ¸ö¾Í²»¶à˵ÁË£¬ÊÇ×Ô¼ºÐ´µÄ±à¼Æ÷£¬ÒÔ±ãÄÜÖ§³ÖͼƬºÍ¶¯»¡£Õâ¸öÒª±»ÌÔ̵ôµÄ¡£
edu.tsinghua.lumaqq.widgets.rich2: ÕâÊÇÒ»¸öÁÙʱµÄ°ü£¬ÊÇÏÂÒ»¸ö°æ±¾µÄ±à¼Æ÷£¬»ùÓÚSWT 3.2µÄStyledText£¬ÓÉÓÚEclipse 3.2ÏÖÔÚÖ»µ½M4£¬bug»¹ºÜ¶à£¬ËùÒÔÕâÏÂÃæµÄ´úÂëÊÇһЩÊÔÑéÐÔÖʵĴúÂ룬²»¹ýÆäʵҪ²»ÒªM4ÓÐЩbug£¬ÏÖÔÚµÄʵÏÖÆäʵ¾ÍÒѾ²î²»¶àÁË¡£
romeobh ÓÚ 2006-08-23 15:34:40·¢±í:
LumaQQÓиöDebugger£¬»¹ÊǺܺÃÍæµÄ°É£¿ÄãÓÐûÓÐÏë×Ô¼ºÐ´Ò»¸ödebugger UI£¬»òÕßÈÃLumaQQµÄdebugger¹¦ÄܸüÇ¿£¿
DebugµÄÖ§³ÖÊÇǶÈëÔÚJQLÐÒé²ãµÄ£¬¶ø½çÃæÔõôʵÏÖÊÇÁô¸øÄãÈ¥Íê³ÉµÄ¡£ËùÒÔÕⲿ·Ö´úÂë·Ö³ÉÁ½¸ö²¿·Ö£º
1. jql_protocol: edu.tsinghua.lumaqq.qq.debug°ü: DebugµÄºËÐÄÖ§³Ö
2. LumaQQ: edu.tsinghua.lumaqq.ui.debug°ü: LumaQQ×Ô´øµÄdebugger UIʵÏÖ
¿´ÆðÀ´ºÜÅ£BÆäʵdebug¹¦ÄܺÜÓÐÏÞ£¬Ò²¾ÍÊÇÈÃÄã¿´¿´ÊÕ·¢ÁËЩʲô°ü¶øÒÑ°É¡£Èç¹ûÄ㻹ÏëÒª¼à¿ØºËÐIJãÆäËûµÄ»î¶¯£¬ÄÇÕâ¸ö¾ÍÒªÄãÈ¥À©Õ¹ÁË£¬²»¹ýÎÒ¾õµÃÄÜ¿´¿´°üÒ²¾ÍÐÐÁË£¬ÆäËûµÄ¹¦ÄÜ£¬ÒòΪÎÒ×Ô¼ºÃ»Õâ¸öÐèÇó£¬×ÔÈ»¾Íû×ö¡£
DebugÔÚºËÐIJãµÄÖ§³ÖÊÇ¿ÉÒÔͨ¹ýDebugSwitch.javaÀ´Çл»µÄ£¬Î¨Ò»Ôö¼ÓµÄ¿ªÏúÊÇÒ»¸öif¼ì²é£¬ËùÒÔÕâµãÎÒ»¹ÊDZȽÏÂúÒâµÄ¡£ºËÐIJãÔÚ¿ªÍ¨ÁËDebug¹¦Äܺ󣬻á°ÑËùÓеÄÊÕµ½ºÍ·¢Ë͵İü¶¼´«¸øÄ㣬µ±È»Äã±ØÐëÒªÌí¼Ó¸öIDebugListener²ÅÄÜÊÕµ½ÕâЩ°ü¡£ÏÖÔÚÕÒµ½ edu.tsinghua.lumaqq.qq°ü£¬²é¿´Packet.javaºÍOutPacket.java£¬Äã¿ÉÒÔ·¢ÏÖһЩDebug¹¦ÄܵÄÏà¹Ø´úÂ룬ÕâÊÇΪʲôËùÓеİü¶¼¿ÉÒÔ±»¼àÊÓµÄÔÒò¡£
ÖÁÓÚUIµÄʵÏÖ£¬ÄÇ¿ÉÒÔºÜÁé»î£¬¾ßÌåµÄ¾Í¿´Ö÷Ò³Îĵµ£¬¿´¿´È±Ê¡µÄµ÷ÊÔÆ÷ÊÇÔõô×öµÄ¡£
romeobh ÓÚ 2006-08-23 15:34:26·¢±í:
WindowsÏÂÃæûÓÐÈȼü£¬µÈ×ÅÄãÃÇÀ´ÊµÏÖ
ÆäʵWindowsÏÂÃæʵÏÖÈȼüºÜ¼òµ¥£¬±Èlinux¼òµ¥¡£ÓÐÈËÔ¸Òâд¾Íд°É£¬Õâ¸öÎÒ½ÓÊÜÄãµÄcontribution£¬²¢ÇÒ»á¼ÓÄãµ½About¶Ô»°¿òµÄ£¬µ±È»ÄãʵÏÖµÄÒªÓÐÖÊÁ¿¡£
×ÔÈ»ÁË£¬ÕâÒ»¿é²»µÃ²»ÓÃJNI£¬½Ó¿ÚÊǺܼòµ¥µÄ£¬¾ÍÈý¸ö·½·¨£¬¾ßÌåÈ¥¿´¿´edu.tsinghua.lumaqq.hotkey.linux.edu_tsinghua_lumaqq_hotkey_KeyBinder.hÎļþ£¬Èý¸ö·½·¨µÄÔÐÍÔÚÄÇÀï¡£
¼òµ¥ËµÒ»ÏÂÕâÈý¸ö·½·¨£º
init: ³õʼ»¯
bind: °ó¶¨Ò»¸öÈȼü£¬ÈȼüÓÃ×Ö·û´®µÄÐÎʽÃèÊö£¬±ÈÈçZ£¬°ó¶¨³É¹¦·µ»Øtrue£¬·ñÔò·µ»Øfalse
unbind: È¡Ïû°ó¶¨£¬²ÎÊýºÍbindÒ»Ñù£¬Ã»Óзµ»ØÖµ¡£
½Ó¿ÚºÜ¼òµ¥£¬ÄÜÓþÍÐС£ÔõôʵÏÖÈȼüÎÒÊÇÖ¸µ¼²»ÁËÄãÁË£¬·´ÕýWindows¾ÍÊǹ³×ÓÂï
romeobh ÓÚ 2006-08-23 15:34:05·¢±í:
01-17°æ±¾¸ÄдÁËÁÄÌì¼Ç¼µ¼³öµÄ¼Ü¹¹£¬ÉÔ΢Áé»îÁËһЩ£¬²»¹ýʵÏÖµÄÒ²²»ÊÇÌ«ºÃ£¬Òâ˼һϾÍÊÇÁËÀ²
ÎÒȱʡ×öÁËÁ½¸ö¼òµ¥µÄÁÄÌì¼Ç¼µ¼³öÄ£°å£¬Îı¾µÄºÍHTMLµÄ£¬Èç¹ûÄãÏëÌí¼Ó×Ô¼ºµÄÄ£°å£¬»òÕßÐÞ¸ÄÏÖÓеÄÄ£°å£¬¿ÉÒÔ¿´¿´LumaQQ_template¹¤³Ì£¬ÕâÊÇÒ»¸ö¸Õ´´½¨µÄй¤³Ì£¬ÎªÁËÕýÈ·µÄʹÓÃÕâ¸ö¹¤³Ì£¬ÄãÐèҪװEMF£¬ÎÒÓÃÁËJETÀ´×öÄ£°å
templateÏÂÃæ¾ÍÊÇjetµÄÄ£°å¶¨Ò壬Õâ¸ö¹¤³ÌÎļþ²»¶à£¬³ýÁËRecordExporterFactoryÊÇÊÖдµÄ£¬ÆäËûµÄ´úÂ붼ÊÇ´ÓjetÄ£°åÉú³ÉµÄ¡£
RecordExporterFactoryºÜ¼òµ¥£¬Ëæ±ã¿´¿´Ò²¾ÍÃ÷°×ÁË£¬Èç¹ûÄãÏë¼Ó¸ö×Ô¼ºµÄÄ£°åÉÏÈ¥£¬ÕÕ×ÅÑù×Ó¼Óµã´úÂ룬ȻºóдһÏÂ×Ô¼ºµÄÄ£°åÎļþ£¬È»ºóÖ´ÐÐbuild.xmlµÄjarÄ¿±ê£¬È»ºó°Ñjar¿½±´µ½LumaQQ_2005µÄlibÀïÃ棬ȻºóûÓÐÁË
ʵÏֵIJ»ÊÇÌ«Ç¿£¬¹»ÓþÍÐС£¶ÔJET¸ÐÐËȤµÄ£¬°²×°ÍêEMFÖ®ºó£¬eclipseµÄ°ïÖúÀïÃæ»áÓÐÁ½ÆªJETµÄÎÄÕ¡£EclipseÖ÷Ò³Ò²ÓС£
romeobh ÓÚ 2006-08-23 15:33:49·¢±í:
Ïë¸Ä±äÕû¸ö³ÌÐòµÄÑùʽô? ¹¤×÷Óеã¶à
ÎÒûÓÐʵÏÖʲôƤ·ô£¬Ö»ÊǼòµ¥µÄ×öÁËһЩ³ÌÐò±ß¿òµÄÐÞÊΣ¬Ö÷ÒªµÄ¹¤×÷¶¼ÊÇÔÚBorderStyler.javaÀïÃæÍê³ÉµÄ¡£
BorderStylerµÄ¹¤×÷¾ÍÊÇÄã´«Ò»¸öshell½øÈ¥£¬Ëü¸øshell¼ÓÉϱ߿ò£¬±êÌâÌõ£¬»¹ÓÐ×î´ó×îС֮ÀàµÄ°´Å¥£¬µ±È»»¹ÒªÌí¼ÓһЩʼþ¼àÌýÆ÷¡£ÄãÒª¸ÄÒ²¿ÉÒÔ£¬²»¹ýÎÒ¾õµÃ»ù±¾ÉÏBorderStylerûÓÐÌ«¶àÐèÒª¸ÄµÄ¡£Äã¿ÉÒÔ»»»»ÑÕÉ«£¬»»»»ÄÇЩ°´Å¥µÄͼ±ê£¬ÕâÑù½çÃæ·ç¸ñ¾Í¿ÉÒÔ±äÁË¡£
´ó²¿·ÖÑÕÉ«¶¼¶¨ÒåÔÚColors.javaÀïÃ棬Äã¿ÉÒԸġ£
×î´ó»¯×îС»¯°´Å¥µÄͼƬÔÚÖ¸ÄÏ(2)ÀïÃæÓнéÉÜ£¬»¹ÓÐһЩ±³¾°Í¼£¬Ò²¿ÉÒÔ¸ÄÁËÒÔ±ãºÍ°´Å¥µÄÉ«µ÷ÅäºÏ
¹â¸ÄÁ˱߿ò¿ÖÅ»¹²»ÐУ¬ÆäËû¿Ø¼þµÄÑÕÉ«·½°¸Ò²µÃ¸Ä¸Ä°É£¬±ÈÈçºÃÓÑÁбíµÄÑÕÉ«·½°¸¡£
Èç¹ûÓÐЩ¿Ø¼þÓõ½µÄÑÕɫûÓÐÔÚColorsÀïÃ涨Ò壬ÄÇÄãµÃÉÔ΢¸Ä¸Ä¿Ø¼þµÄ´úÂë¡£
¼ÇµÃÎÒÔÚÖ¸ÄÏ(2)ÀïÃæ˵¹ýµÄ£¬¸ÄͼƬµÄʱºò²»ÒªÂÒ¸ÄͼƬ´óС¡£
romeobh ÓÚ 2006-08-23 15:33:31·¢±í:
ÄãÏÓLumaQQµÄ»úÆ÷ÈËʵÏÖÌ«¼òµ¥Ã´£¿ÊǼòµ¥Á˵㣬ÎÒÖ»´¦ÀíÁËÆÕͨÏûÏ¢£¬ÄãÏëÈûúÆ÷ÈËÒ²»Ø¸´ÈºÏûÏ¢£¬Ò²»Ø¸´ÊÖ»ú¶ÌÐÅ£¬µÈµÈ¡£
²»Âé·³£¬ÉÔ΢¸Ä¸ÄQQClient.java°É£¬ÕÒÕÒqqEvent·½·¨£¬ÓÐÕâôһ¿é
case QQEvent.QQ_RECEIVE_NORMAL_IM:
processNormalIM(e);
break;
processNormalIMºÜ¼òµ¥:
// ÏÈ·µ»ØÈ·ÈÏ
processReceiveIM(e);
// µÃµ½ÏûÏ¢°ü
ReceiveIMPacket packet = (ReceiveIMPacket)e.getSource();
doRobot(packet);
so£¬°ÑÏÂÃæ¼Óµ½qqEventÀïÃæ
case QQEvent.QQ_RECEIVE_CLUSTER_IM:
processClusterIM(e);
break;
ÔÙ¼ÓÒ»¸öprocessClusterIM·½·¨:
// ÏÈ·µ»ØÈ·ÈÏ
processReceiveIM(e);
// µÃµ½ÏûÏ¢°ü
ReceiveIMPacket packet = (ReceiveIMPacket)e.getSource();
doRobot(packet);
ÕâÑù¾Í¿ÉÒÔÈÃrobotÒ²ÊÕµ½ÈºÏûÏ¢ÁË£¬Ê£ÏµÄÊ£¬ÊÇÄãµÄRobotʵÏÖµÄÊ¡£doRobot·½·¨ÀïÃæÖ»·¢ËÍÆÕͨÏûÏ¢£¬ËùÒÔÒª¸Äһϣ¬¾ßÌå¾Í²»ËµÁË
romeobh ÓÚ 2006-08-23 15:33:11·¢±í:
Äã½âÎöÁËÒ»¸öδ֪µÄ°ü£¬²»ÖªµÀÔõôÌí¼Óµ½JQLô£¿Èç¹ûÄãÓÐÕâÑùµÄÒÉÎÊ£¬ÎÒ¸øÄãһЩָÄÏ
Ò»°ãÀ´Ëµ£¬ÄãÒªÍê³ÉÒÔÏÂÈÎÎñ£º
1. Ìí¼ÓÏàÓ¦µÄÃüÁî³£Á¿µ½QQ.java
2. ¸ù¾ÝÐÒé×岻ͬ£¬¼Ì³Ð²»Í¬µÄ»ùÀà¡£ÒÔ»ù±¾ÐÒé×åΪÀý£¬¼Ì³ÐBasicOutPacket£¬´´½¨Ò»¸öÊä³ö°üÀà¡£Ôټ̳ÐBasicInPacket£¬´´½¨Ò»¸öÊäÈë°üÀà¡£Äã¿ÉÒÔ¿´¿´ÏÖÓеİü£¬³Ò»¸ö¹ýÀ´£¬È»ºóÐÞ¸ÄputBody»òÕßparseBody¾Í¿ÉÒÔÁË¡£
3. ¸ù¾ÝÐÒé×岻ͬ£¬ÕÒµ½²»Í¬µÄparser£¬ÒÔ»ù±¾ÐÒé×åΪÀý£¬¿´¿´BasicParser.java£¬Ëû¸ºÔð½âÎöËùÓлù±¾ÐÒé×åµÄ°ü£¬°ÑÄãµÄ°ü¼Óµ½parseIncomingºÍparseOutcomingµÄ´óswitchÀïÃæ°É
4. ÄãµÄ°üÊÇ·ñ´¥·¢Ò»Ð©Ê¼þ£¿Èç¹ûÊÇ£¬ÐÞ¸ÄQQEvent.java£¬Ìí¼ÓÄã×Ô¼ºµÄʼþ³£Á¿¡£Ç§Íò²»ÒªºÍÆäËûµÄʼþ³£Á¿³åÍ»ÁË£¬ÎÒÔÚÀïÃæ±êÃ÷ÁËÏÂÒ»¸ö¿ÉÓõÄʼþID¡£
5. ¸ù¾ÝÐÒé×岻ͬ£¬ÕÒµ½²»Í¬µÄ°üʼþ´¦ÀíÆ÷¡£ÒÔ»ù±¾ÐÒé×åΪÀý£¬¿´¿´BasicFamilyProcessor.java£¬ÄǸöpacketArrivedµÄ´óswitchÀïÃæ¡£¼ÓÉÏÄã×Ô¼ºµÄ´úÂ룬´¥·¢ÄãµÄʼþ°É¡£
6. ÕÒµ½QQClient.java£¬Ìí¼ÓÒ»¸ö·½±ãµÄ·½·¨¿ÉÒÔ·¢ËÍÄãµÄ°ü£¬²»¼ÓÆäʵûÊ£¬µ«ÊǼÓÁ˺ÃЩ£¬Éϲãµ÷ÓÃÆðÀ´·½±ã¡£
»¹ºÃ²½Öè²»ËãºÜ¶à£¬Just do it!
Ïë°Ñͼ±ê¶¼»»»»£¿Õâ¸ö¼òµ¥
edu.tsinghua.lumaqq.resource.icon£¬³ÌÐòµÄͼ±ê
edu.tsinghua.lumaqq.resource.head£¬Óû§Í·Ïñ
edu.tsinghua.lumaqq.resource.smallhead£¬Óû§Ð¡Í·Ïñ
edu.tsinghua.lumaqq.resource.clusterhead£¬ÈºÍ·Ïñ
edu.tsinghua.lumaqq.resource.face£¬È±Ê¡±íÇé
edu.tsinghua.lumaqq.resource.image£¬Ò»Ð©±È½Ï´óµÄͼƬ£¬logo£¬±³¾°Ê²Ã´µÄ
¿´Äĸö²»Ë³ÑÛ£¬»»°É¡£µ«ÊÇÎļþÃûºÍͼƬ³ß´ç²»ÒªÂұ䡣