¾¹ý½üÁ½¸öÔµIJ»Ð¹Å¬Á¦,Voovan ÖÕÓÚµ½´ïÁË RC °æ±¾,¾àÀëÕýʽ°æ±¾µÄ·¢²¼ÒѾºÜ½üÁË¡£
±¾´Î¸üдøÀ´47ÏîÓÅ»¯¡¢bug ÐÞ¸´¡¢ÐÂÔöµÈÄÚÈÝ¡£
±¾´Î¸üÐÂÖ÷Òª¶ÔÒì³£½øÐÐÁËÐÞ¸´,²¢ÇÒÖØµãÓÅ»¯ÁË JSON ºÍ Socket ͨÐŵÄÐÔÄÜ.¿ÉÒÔ˵Ï൱ÓÅÐã.
JSON ûÓвÉÓ󣹿µÄ Token ÐÎʽµÄ½âÎö,¼õÉÙÄÚ´æÕ¼ÓÃ,²¢ÇÒÖ±½Ó½âÎö³É Map »òÕß List µÈ´ó¼ÒÊìϤµÄÐÎʽ.
Socket ÐÔÄÜÓÅ»¯,ÓÅ»¯ÁË MessageLoader ºÍ ByteBufferChannelµÄÐÔÄÜ,²ÉÓýӽüÓÚÁ㿽±´À´ÌáÉýÐÔÄܲ¢ÇÒ½µµÍÄÚ´æÏûºÄ.
ÐÔÄܲâÊÔ¡¾Voovan ²ÎÕÕ Jetty µÄÐÔÄܲâÊÔ£¬Öйú¿ò¼ÜÒ»ÑùºÜÓÅÐã¡¿
Ôö¼Ó¶ÔÏó³Ø,PoolObject Ϊ Vestful ¿ò¼ÜÌṩ¶ÔÏó·ÃÎÊÖ§³Ö
±¾´Î¸üеÄÖ÷ÒªÄÚÈÝ:
Ôö¼ÓµÄÄÚÈÝ
add: IoSession ºÍ SocketContext Ôö¼Ó isOpen·½·¨,ÓÃÀ´ÅжÏÇø·ÖÁ¬½Ó״̬Åж϶ÔÏóÊÇ·ñ´ò¿ª
add: ÏûÏ¢½Ø¶ÏÀàMessageSplitter µÄ canSplite º¯ÊýµÄ·µ»ØÖµÓÐ boolean ¸ÄΪ int ÓÃÀ´¿ØÖÆÏûÏ¢½Ø¶ÏµÄ³¤¶È
add: ·´ÉäÀà TReflect Ôö¼ÓgetAllExtendAndInterfaceClass·½·¨ÓÃÓÚÒ»´ÎÌáÈ¡ËùÓи¸·½·¨ºÍ¼Ì³ÐµÄµÄÀà
add: JSONÔö¼Ó¶Ô·´ÉäÀàÐ͵ÄÖ§³Ö
add: Ôö¼Ó¶ÔÏó³Ø
add: Ôö¼ÓÁË MultiMap key ¶ÔÓ¦ list Öµ
ÓÅ»¯µÄÄÚÈÝ
imp: Ôö¼Ó TString ÐÂÔöº¯ÊýµÄ²âÊÔÓÃÀýa
imp: ÓÅ»¯ JSON ½âÎöµÄÒì³£,¶ÔÒì³£½øÐÐÓѺõÄչʾ,¿ÉÒÔչʾ³ö´íµÄ JSON Îı¾µÄλÖÃ
imp: ÓÅ»¯ JSON ½âÎöËã·¨,ʵÏÖ»ùÓÚ×Ö½ÚµÄÒ»±ß±éÀú¼´¿É½âÎö³ö JSON Êý¾Ý
imp: MessageLoader ×îÖÕÓÅ»¯,³ýÁËÊý×éÀ©ÈÝ,ËùÓеÄ×Ö½ÚÊý×é²Ù×÷¶¼Ê¹Óà System.arrayCopy À´Ìá¸ßÐÔÄÜ
imp: ÓÅ»¯ MessageLoader µÄʵÏÖ,Ö±½ÓʹÓà session ÖÐµÄ ByteBufferChannel¼õÉÙ×Ö½Ú²Ù×÷ÌáÉýÐÔÄÜ
imp: ÓÅ»¯ ByteBufferChannel ,²ÉÓà Array ²Ù×÷,´ó·ù¶ÈÌáÉýÐÔÄÜ
imp: Ϊ Socket Ôö¼ÓÒì²½Æô¶¯·½·¨.
imp: TRelfect ÓÅ»¯¹¹Ô캯Êý,×Ô¶¯Ê¶±ð±äÁ¿ÀàÐÍ,ѰÕÒºÏÊʲÎÊýµÄ·½·¨
imp: ´úÂë sonar ÓÅ»¯
imp: ÓÅ»¯TReflect.getObjectFromMap·½·¨,Òì³£ÐÅÏ¢Ôö¼ÓÌáʾ
imp: ·´Éä TString.toObject ·½·¨ÓÅ»¯
imp: ΪÁËÖ§³Ö¶à»ú(¼¯Èº)³¡¾°ÏÂObjectPoolµÄ»ìÓÃ,½« id ¸ÄΪ UUID µÄÐÎʽ
imp: Ôö¼Ó»º³å³Ø´óСµÄÉèÖÃ
imp: ÓÅ»¯Ò첽ͨÐÅ
imp: WebServerÃüÁî²ÎÊýÐÞ¸Ä³É Linux ¹æ·¶ÐÎʽ
imp: ÓÅ»¯ÁËÊ××Öĸ´óдµÄËã·¨
imp: PoolObject²¢·¢ÐÔÄÜÓÅ»¯
imp: ÓÅ»¯ TReflect µÄ getObjectFromMap ·½·¨ÓÅ»¯
imp: ÓÅ»¯ TString.toObject ºÍ JSONDecode.fromJSON·½·¨
imp: ÄÚ´æºÍÐÔÄÜÓÅ»¯
imp: ½« UDP ͨÐŲð·Ö³É UdpServerSocket ºÍ UdpSocket
BUGÐÞ¸´
fix: ÐÞ¸´ TFile.loadFileLastLines ¶ÁȡʱÔÚ¶Áµ½ÎļþÍ·ÉÙÁËÍ·²¿µÄÒ»¸ö×Ö½Ú
fix: ÐÞ¸´ UDP ͨÐÅµÄ bug
fix: ÐÞ¸´ÁËÔÚÁ¬½Ó¶Ï¿ªºó,HttpSession ²¢Î´±»´Ó SessionManager ÖÐÒÆ³ý,µ¼ÖÂÄÚ´æÃ»Óб»ÊÍ·Å
fix: JSONDecode Àà,¶ÔÓÚÆðʼΪעÊÍÐÎʽµÄ JSON ½âÎöÒì³£µÄ bug ´¦Àí imp: ÓÅ»¯getObjectFromMap·½·¨¶ÔÓÚÊôÐÔΪ list »òÕß map ʱ³öÏÖµÄÀàÐÍת»»Òì³£
fix: HttpParserÓÅ»¯
fix: ÐÞ¸´Ö±½Ó¶ÁÈ¡µÄ bug
fix: ÐÞ¸´TReflect.getObjectFromMapÖÐ¶Ô list ´¦ÀíµÄ bug
fix: Òì³£ÓÅ»¯
fix: WebServerÄ£¿é¡¢¹ýÂËÆ÷¡¢Â·ÓÉÅäÖüÓÔØÒì³£Êä³ö´íÎóÓÅ»¯.
fix: ÐÞ¸´ JSON ½âÎöǶÌ××¢ÊÍʱµÄ bug.
fix: JSON ´¦ÀíÐÞ¸´¶Ô×¢Ê͵ÄÖ§³Ö,ÔÀ´ÕýÔòÌæ»»×¢ÊͻᵼÖÂbug
fix: Ï̳߳ØÓÅ»¯,µ±ÔÚÒ»¸ö½ø³ÌÄÚ¿ª¶à¸ö socket ʱ¿ÉÄܵ¼ÖÂÏ̳߳ØÌáǰ¹Ø±Õ
fix: ½«¶ÔÏóת»»ÎªJSONʱ˫ÒýºÅµ¼ÖÂ×Ö·û´®Î¥·´¹æ·¶µÄÎÊÌâ
fix: ÐÞ¸´¾²Ì¬×ÊÔ´Îļþ¼ÓÔØÊ§°ÜµÄÎÊÌâ
fix: ·´Éä TReflect ÀàÖÐ invokeMethod ·½·¨Ôö¼Ó×Ô¶¯Í¨¹ý²ÎÊýÑ¡Ôñ·½·¨
fix: ObjectPoollʹÓà hashcode »á³öÏÖÏàͬ hashcode µÄ¶à¸ö¶ÔÏó,ÇÒ hashCode »á·¢Éú¸Ä±ä,Ð޸ijÉʹÓù̶¨Ôö¼ÓµÄ ID ×÷ΪΨһ±êʶ
fix: ¾²Ì¬ÎļþÅж϶԰üº¬ÎļþÀ©Õ¹ÃûµÄURLµ¼ÖµÄ·ÓÉÆ¥ÅäÒì³£
fix: SingleLoggerÀà»ánew ³ö¶à¸öÏàͬĿ±êÎļþµÄÏß³Ì.
fix: ÐÞ¸´ UDP ½ÓÊÜÏûÏ¢Òì³£µÄÎÊÌâ EventTrigger Ð޸ijɿɵ¥Ôª²âÊÔµÄ,²¢ÓÅ»¯²¢·¢Ïß³ÌÄ£ÐÍ
fix: ÐÞ¸´¿ÕÖ¸ÕëÎÊÌâ
Voovan ÊÇÒ»¸ö¸ßÐÔÄÜÒì²½ÍøÂç¿ò¼ÜºÍWEB·þÎñÆ÷¿ò¼Ü,ͬʱ֧³ÖHTTP¿Í»§¶Ëץȡ¡¢¶¯Ì¬±àÒëÖ§³Ö¡¢Êý¾Ý¿â·ÃÎÊ·â×°ÒÔ¼°DateTime¡¢String¡¢Log¡¢·´Éä¡¢¶ÔÏ󹤾ߡ¢Á÷²Ù×÷¡¢Îļþ²Ù×÷¡¢Ò첽˫ÏòͨµÀµÈ¹¦ÄÜ¡£Ö¼ÔÚÌṩ¿É¿¿¡¢·½±ã¡¢¿Éµ¥Ôª²âÊԵĴúÂë¡£ËüÊÇÒ»¸öÎÞÈκÎÒÀÀµµÄ¶ÀÁ¢¹¤¾ß°ü£¬Ï£ÍûÄܹ»·½±ã¹ã´ó¿ª·¢Õß¿ìËÙµÄʵÏÖÓ¦Óá£
¿ª·¢Îĵµ£º¡¾Voovan¿ª·¢Êֲ᡿
¿ª·¢½Ì³Ì£º¡¾VoovanÒ»²½²½ÈëÃÅ¡¿
Èí¼þÏêÇ飺http://www.voovan.org/
ÏÂÔØµØÖ·£ºhttp://git.oschina.net/helyho/Voovan
À´×Ô:¿ªÔ´ÖйúÉçÇø

