°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
Ëü£©¡£fflush£¨£©ÓÃÓÚ¶ÔÊä³ö»º³åÇø½øÐÐˢС£¡¡¡¡
Èç¹ûÃû×Ö²»ÔÚÁбíÖУ¬¾ÍÓÃfseek£¨£©ÒƵ½Áбíĩ⣬²¢Óá¡fprintf£¨£©½«Ãû×Ö¡°´òÓ¡¡±µ½Áбíĩβ¡£Ëæºó£¬Óá¡
printf£¨£©Ö¸³öÃû×ÖÒѳɹ¦¼ÓÈëÁÐ±í£¨Í¬ÑùÐèҪˢбê×¼Êä³ö£©£¬ÎÞÏÞÑ»··µ»Ø£¬¼ÌÐøµÈºòÒ»¸öÐÂÃû×ֵĽø¡¡
Èë¡£¡¡¡¡
¼Çסһ°ã²»ÄÜÏÈÔÚ×Ô¼ºµÄ¼ÆËã»úÉϱàÒë´Ë³ÌÐò£¬ÔٰѱàÒëºÃµÄÄÚÈÝÉÏÔØµ½¡¡Web¡¡·þÎñÆ÷£¬ÒòΪÄÇ̨»úÆ÷ʹÓõġ¡
¿ÉÄÜÊDz»Í¬ÀàµÄ´¦ÀíÆ÷ºÍ²Ù×÷ϵͳ¡£ÀýÈ磬ÎÒµÄWeb¡¡·þÎñÆ÷°²×°µÄÊÇ¡¡Intel¡¡µÄCPU£¬µ«²Ù×÷ϵͳÊÇLinux£¬Ëù¡¡
ÒÔ±ØÐëÏÈÏÂÔØÔ´Â룬ÔÙÓÃÔ¶³ÌÃüÁͨ¹ýtelnet£©Ö¸»ÓLinux¡¡×Ô´øµÄC¡¡±àÒëÆ÷£¬ÁîÆäÔÚ·þÎñÆ÷¶Ë±àÒëºÃ³Ì¡¡
Ðò¡£¡¡¡¡
¡¡¡¡
2¡£¡¡Java¡¡³ÌÐò¡¡¡¡
Õâ¸ö³ÌÐòÏÈÆô¶¯ÉÏÊöµÄ¡¡C¡¡³ÌÐò£¬ÔÙ½¨Á¢±ØÒªµÄÁ¬½Ó£¬ÒÔ±ãͬËü¡°½»Ì¸¡±¡£Ëæºó£¬Ëü´´½¨Ò»¸öÊý¾Ý±¨Ì×½Ó×Ö£¬¡¡
ÓÃËü¡°¼àÊÓ¡±»òÕß¡°ÕìÌý¡±À´×Ô³ÌÐòƬµÄÊý¾Ý±¨°ü¡£¡¡¡¡
¡¡¡¡
//£º¡¡NameCollector¡£java¡¡¡¡
//¡¡Extracts¡¡email¡¡names¡¡from¡¡datagrams¡¡and¡¡stores¡¡¡¡
//¡¡them¡¡inside¡¡a¡¡file£»¡¡using¡¡Java¡¡1¡£02¡£¡¡¡¡
import¡¡java¡£*£»¡¡¡¡
import¡¡java¡£io¡£*£»¡¡¡¡
import¡¡java¡£util¡£*£»¡¡¡¡
¡¡¡¡
public¡¡class¡¡NameCollector¡¡£û¡¡¡¡
¡¡¡¡final¡¡static¡¡int¡¡COLLECTOR_PORT¡¡=¡¡8080£»¡¡¡¡
¡¡¡¡final¡¡static¡¡int¡¡BUFFER_SIZE¡¡=¡¡1000£»¡¡¡¡
¡¡¡¡byte£§£§¡¡buf¡¡=¡¡new¡¡byte£§BUFFER_SIZE£§£»¡¡¡¡
¡¡¡¡DatagramPacket¡¡dp¡¡=¡¡¡¡¡¡
¡¡¡¡¡¡¡¡new¡¡DatagramPacket£¨buf£»¡¡buf¡£length£©£»¡¡¡¡
¡¡¡¡//¡¡Can¡¡listen¡¡&¡¡send¡¡on¡¡the¡¡same¡¡socket£º¡¡¡¡
¡¡¡¡DatagramSocket¡¡socket£»¡¡¡¡
¡¡¡¡Process¡¡listmgr£»¡¡¡¡
¡¡¡¡PrintStream¡¡nameList£»¡¡¡¡
¡¡¡¡DataInputStream¡¡addResult£»¡¡¡¡
¡¡¡¡public¡¡NameCollector£¨£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡try¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡listmgr¡¡=¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Runtime¡£getRuntime£¨£©¡£exec£¨¡¨listmgr¡£exe¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡nameList¡¡=¡¡new¡¡PrintStream£¨¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡554¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡556¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡BufferedOutputStream£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡listmgr¡£getOutputStream£¨£©£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡addResult¡¡=¡¡new¡¡DataInputStream£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡BufferedInputStream£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡listmgr¡£getInputStream£¨£©£©£©£»¡¡¡¡
¡¡¡¡
¡¡¡¡¡¡¡¡£ý¡¡catch£¨IOException¡¡e£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡System¡£err¡£println£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨Cannot¡¡start¡¡listmgr¡£exe¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡System¡£exit£¨1£©£»¡¡¡¡
¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡try¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡socket¡¡=¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡DatagramSocket£¨COLLECTOR_PORT£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨NameCollector¡¡Server¡¡started¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡while£¨true£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡Block¡¡until¡¡a¡¡datagram¡¡appears£º¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡socket¡£receive£¨dp£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡String¡¡rcvd¡¡=¡¡new¡¡String£¨dp¡£getData£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡0£»¡¡0£»¡¡dp¡£getLength£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡Send¡¡to¡¡listmgr¡£exe¡¡standard¡¡input£º¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡nameList¡£println£¨rcvd¡£trim£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡nameList¡£flush£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡byte£§£§¡¡resultBuf¡¡=¡¡new¡¡byte£§BUFFER_SIZE£§£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡int¡¡byteCount¡¡=¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡addResult¡£read£¨resultBuf£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡if£¨byteCount¡¡£¡=¡¡¡1£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡String¡¡result¡¡=¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡String£¨resultBuf£»¡¡0£©¡£trim£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡Extract¡¡the¡¡address¡¡and¡¡port¡¡from¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡the¡¡received¡¡datagram¡¡to¡¡find¡¡out¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡where¡¡to¡¡send¡¡the¡¡reply£º¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡InetAddress¡¡senderAddress¡¡=¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡dp¡£getAddress£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡int¡¡senderPort¡¡=¡¡dp¡£getPort£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡byte£§£§¡¡echoBuf¡¡=¡¡new¡¡byte£§BUFFER_SIZE£§£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡result¡£getBytes£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡0£»¡¡byteCount£»¡¡echoBuf£»¡¡0£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡DatagramPacket¡¡echo¡¡=¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡DatagramPacket£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡echoBuf£»¡¡echoBuf¡£length£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡senderAddress£»¡¡senderPort£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡socket¡£send£¨echo£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡else¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨Unexpected¡¡lack¡¡of¡¡result¡¡from¡¡¡¨¡¡£«¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨listmgr¡£exe¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡£ý¡¡catch£¨SocketException¡¡e£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡System¡£err¡£println£¨¡¨Can't¡¡open¡¡socket¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡555¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡557¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡System¡£exit£¨1£©£»¡¡¡¡
¡¡¡¡¡¡¡¡£ý¡¡catch£¨IOException¡¡e£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡System¡£err¡£println£¨¡¨munication¡¡error¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡e¡£printStackTrace£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡main£¨String£§£§¡¡args£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡new¡¡NameCollector£¨£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡///£º~¡¡¡¡
¡¡¡¡
NameCollector¡¡ÖеĵÚÒ»¸ö¶¨ÒåÓ¦¸ÃÊÇ´ó¼ÒËùÊìϤµÄ£ºÑ¡¶¨¶Ë¿Ú£¬´´½¨Ò»¸öÊý¾Ý±¨°ü£¬È»ºó´´½¨Ö¸ÏòÒ»¸ö¡¡
DatagramSocket¡¡µÄ¾ä±ú¡£½ÓÏÂÀ´µÄÈý¸ö¶¨Ò帺ÔðÓëC¡¡³ÌÐòµÄÁ¬½Ó£ºÒ»¸ö¡¡Process¡¡¶ÔÏóÊÇ¡¡C¡¡³ÌÐòÓÉ¡¡Java¡¡³ÌÐò¡¡
Æô¶¯Ö®ºó·µ»ØµÄ£¬¶øÇÒÄǸöProcess¡¡¶ÔÏó²úÉúÁË¡¡InputStream¡¡ºÍOutputStream£¬·Ö±ð´ú±í¡¡C¡¡³ÌÐòµÄ±ê×¼Êä³ö¡¡
ºÍ±ê×¼ÊäÈë¡£ºÍJava¡¡IO¡¡Ò»Ñù£¬ËüÃÇÀíËùµ±È»µØÐèÒª¡°·â×°¡±ÆðÀ´£¬ËùÒÔÎÒÃÇ×îºóµÃµ½µÄÊÇÒ»¸ö¡¡
PrintStream¡¡ºÍ¡¡DataInputStream¡£¡¡¡¡
Õâ¸ö³ÌÐòµÄËùÓй¤×÷¶¼ÊÇÔÚ¹¹½¨Æ÷ÄÚ½øÐеġ£ÎªÆô¶¯C¡¡³ÌÐò£¬ÐèҪȡµÃµ±Ç°µÄ¡¡Runtime¡¡¶ÔÏó¡£ÎÒÃÇÓÃËüµ÷Óá¡
exec£¨£©£¬ÔÙÓɺóÕß·µ»ØProcess¡¡¶ÔÏó¡£ÔÚProcess¡¡¶ÔÏóÖУ¬´ó¼Ò¿É¿´µ½Í¨¹ýÒ»¼òµ¥µÄµ÷Óü´¿ÉÉú³ÉÊý¾ÝÁ÷£º¡¡
getOutputStream£¨£©ºÍ¡¡getInputStream£¨£©¡£´ÓÕâ¸öʱºò¿ªÊ¼£¬ÎÒÃÇÐèÒª¿¼ÂǵÄÈ«²¿ÊÂÇé¾ÍÊǽ«Êý¾Ý´«¸øÊý¾Ý¡¡
Á÷nameList¡¡£¬²¢´ÓaddResult¡¡ÖÐÈ¡µÃ½á¹û¡£¡¡¡¡
ºÍÍù³£Ò»Ñù£¬ÎÒÃǽ«DatagramSocket¡¡Í¬Ò»¸ö¶Ë¿ÚÁ¬½Óµ½Ò»Æð¡£ÔÚÎÞÏÞwhile¡¡Ñ»·ÖУ¬³ÌÐò»áµ÷Óá¡
receive£¨£©¡ª¡ª³ý·ÇÒ»¸öÊý¾Ý±¨µ½À´£¬·ñÔòreceive£¨£©»áÒ»Æð´¦ÓÚ¡°¶ÂÈû¡±×´Ì¬¡£Êý¾Ý±¨³öÏÖÒÔºó£¬ËüµÄÄÚÈÝ¡¡
»áÌáÈ¡µ½String¡¡rcvd¡¡Àï¡£ÎÒÃÇÊ×ÏȽ«¸Ã×Ö´®Á½Í·µÄ¿Õ¸ñÌÞ³ý£¨trim£©£¬ÔÙ½«Æä·¢¸øC¡¡³ÌÐò¡£ÈçÏÂËùʾ£º¡¡¡¡
nameList¡£println£¨rcvd¡£trim£¨£©£©£»¡¡¡¡
Ö®ËùÒÔÄÜÕâÑù±àÂ룬ÊÇÒòΪJava¡¡µÄexec£¨£©ÔÊÐíÎÒÃÇ·ÃÎÊÈκοÉÖ´ÐÐÄ£¿é£¬Ö»ÒªËüÄÜ´Ó±ê×¼ÊäÈëÖжÁ£¬²¢ÄÜ¡¡
Ïò±ê×¼Êä³öÖÐд¡£»¹ÓÐÁíһЩ·½Ê½¿ÉÓë·ÇJava¡¡´úÂë¡°½»Ì¸¡±£¬Õ⽫ÔÚ¸½Â¼A¡¡ÖÐÌÖÂÛ¡£¡¡¡¡
´ÓC¡¡³ÌÐòÖв¶»ñ½á¹û¾ÍÏÔµÃÉÔ΢Â鷳һЩ¡£ÎÒÃDZØÐëµ÷Óá¡read£¨£©£¬²¢Ìṩһ¸ö»º³åÇø£¬ÒԱ㱣´æ½á¹û¡£¡¡
read£¨£©µÄ·µ»ØÖµÊÇÀ´×ÔC¡¡³ÌÐòµÄ×Ö½ÚÊý¡£ÈôÕâ¸öֵΪ¡1£¬Òâζ×Åij¸öµØ·½³öÏÖÁËÎÊÌâ¡£·ñÔò£¬ÎÒÃǾͽ«¡¡
resultBuf¡¡£¨½á¹û»º³åÇø£©×ª»»³ÉÒ»¸ö×Ö´®£¬È»ºóͬÑùÇå³ý¶àÓàµÄ¿Õ¸ñ¡£Ëæºó£¬Õâ¸ö×Ö´®»áÏóÍù³£Ò»Ñù½øÈëÒ»¡¡
¸öDatagramPacket£¬²¢´«»Øµ±³õ·¢³öÇëÇóµÄÄǸöͬÑùµÄµØÖ·¡£×¢Òâ·¢ËÍ·½µÄµØÖ·Ò²ÊÇÎÒÃǽÓÊÕµ½µÄ¡¡
DatagramPacket¡¡µÄÒ»²¿·Ö¡£¡¡¡¡
¼Çס¾¡¹ÜC¡¡³ÌÐò±ØÐëÔÚ¡¡Web¡¡·þÎñÆ÷ÉϱàÒ룬µ«¡¡Java¡¡³ÌÐòµÄ±àÒ볡Ëù¿ÉÒÔÊÇÈÎÒâµÄ¡£ÕâÊÇÓÉÓÚ²»¹ÜʹÓõÄÊÇʲ¡¡
ôӲ¼þƽ̨ºÍ²Ù×÷ϵͳ£¬±àÒëµÃµ½µÄ×Ö½ÚÂë¶¼ÊÇÒ»ÑùµÄ¡£¾Í¾ÍÊÇJava¡¡µÄ¡°¿çƽ̨¡±¼æÈÝÄÜÁ¦¡£¡¡¡¡
15¡£5¡£2¡¡NameSender¡¡³ÌÐòƬ¡¡¡¡
ÕýÈçÔçÏÈÖ¸³öµÄÄÇÑù£¬³ÌÐòƬ±ØÐëÓÃJava¡¡1¡£0¡¡±àд£¬Ê¹ÆäÄÜÓë¾ø´ó¶àÊýµÄä¯ÀÀÆ÷ÊÊÓ¦¡£Ò²ÕýÊÇÓÉÓÚÕâ¸öÔ¡¡
Òò£¬ÎÒÃDzúÉúµÄÀàÊýÁ¿Ó¦¾¡¿ÉÄܵØÉÙ¡£ËùÒÔÎÒÃÇÔÚÕâ¶ù²»¿¼ÂÇʹÓÃÇ°ÃæÉè¼ÆºÃµÄDgram¡¡À࣬¶ø½«Êý¾Ý±¨µÄËù¡¡
ÓÐά»¤¹¤×÷¶¼×ªµ½´úÂëÐÐÖнøÐС£´ËÍ⣬³ÌÐòƬҪÓÃÒ»¸öÏ̼߳àÊÓÓÉ·þÎñÆ÷´«»ØµÄÏìÓ¦ÐÅÏ¢£¬¶ø·