°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
»òÕß¡°¿Í»§¡±¡£ËüÃÇÖ®¼äµÄÇø±ðÖ»ÓÐÔÚ¿Í»§»úÊÔͼͬ·þÎñÆ÷Á¬½ÓµÄʱºò²ÅÏԵ÷dz£Ã÷ÏÔ¡£Ò»µ©Á¬Í¨£¬¾Í±ä³É¡¡
ÁËÒ»ÖÖË«ÏòͨÐÅ£¬ËÀ´°çÑÝ·þÎñÆ÷»òÕß¿Í»§»ú±ãÏԵò»ÄÇôÖØÒªÁË¡£¡¡¡¡
ËùÒÔ·þÎñÆ÷µÄÖ÷ÒªÈÎÎñÊÇÕìÌý½¨Á¢Á¬½ÓµÄÇëÇó£¬ÕâÊÇÓÉÎÒÃÇ´´½¨µÄÌض¨·þÎñÆ÷¶ÔÏóÍê³ÉµÄ¡£¶ø¿Í»§»úµÄÈÎÎñ¡¡
ÊÇÊÔ×ÅÓëһ̨·þÎñÆ÷½¨Á¢Á¬½Ó£¬ÕâÊÇÓÉÎÒÃÇ´´½¨µÄÌض¨¿Í»§»ú¶ÔÏóÍê³ÉµÄ¡£Ò»µ©Á¬½Ó½¨ºÃ£¬ÄÇôÎÞÂÛÔÚ·þÎñ¡¡
Æ÷¶Ë»¹ÊÇ¿Í»§»ú¶Ë£¬Á¬½ÓÖ»ÊÇħÊõ°ãµØ±ä³ÉÁËÒ»¸ö¡¡IOÊý¾ÝÁ÷¶ÔÏó¡£´ÓÕâʱ¿ªÊ¼£¬ÎÒÃÇ¿ÉÒÔÏó¶Áдһ¸öÆÕͨµÄ¡¡
ÎļþÄÇÑù¶Ô´ýÁ¬½Ó¡£ËùÒÔÒ»µ©½¨ºÃÁ¬½Ó£¬ÎÒÃÇÖ»ÐèÏóµÚ¡¡10ÕÂÄÇÑùʹÓÃ×Ô¼ºÊìϤµÄ¡¡IO¡¡ÃüÁî¼´¿É¡£ÕâÕýÊÇ¡¡Java¡¡
Á¬Íø×î·½±ãµÄÒ»¸öµØ·½¡£¡¡¡¡
¡¡¡¡
1¡£¡¡ÔÚûÓÐÍøÂçµÄÇ°ÌáϲâÊÔ³ÌÐò¡¡¡¡
ÓÉÓÚ¶àÖÖDZÔÚµÄÔÒò£¬ÎÒÃÇ¿ÉÄÜûÓÐһ̨¿Í»§»ú¡¢·þÎñÆ÷ÒÔ¼°Ò»¸öÍøÂçÀ´²âÊÔ×Ô¼º×öºÃµÄ³ÌÐò¡£ÎÒÃÇÒ²ÐíÊÇ¡¡
ÔÚÒ»¸ö¿ÎÌû·¾³ÖнøÐÐÁ·Ï°£¬»òÕßд³öµÄÊÇÒ»¸ö²»Ê®·Ö¿É¿¿µÄÍøÂçÓ¦Ó㬻¹ÄÜÄõ½ÍøÂçÉÏÈ¥¡£IP¡¡µÄÉè¼ÆÕß×¢¡¡
Òâµ½ÁËÕâ¸öÎÊÌ⣬²¢½¨Á¢ÁËÒ»¸öÌØÊâµÄµØÖ·¡ª¡ªlocalhost¡ª¡ªÀ´Âú×ã·ÇÍøÂç»·¾³ÖеIJâÊÔÒªÇó¡£ÔÚ¡¡Java¡¡ÖС¡
²úÉúÕâ¸öµØÖ·×îÒ»°ãµÄ×ö·¨ÊÇ£º¡¡¡¡
InetAddress¡¡addr¡¡=¡¡InetAddress¡£getByName£¨null£©£»¡¡¡¡
Èç¹ûÏò¡¡getByName£¨£©´«µÝÒ»¸önull¡¡£¨¿Õ£©Öµ£¬¾ÍĬÈÏΪʹÓÃlocalhost¡£ÎÒÃÇÓÃInetAddress¡¡¶ÔÌض¨µÄ»úÆ÷¡¡
½øÐÐË÷Òý£¬¶øÇÒ±ØÐëÔÚ½øÐнøÒ»²½µÄ²Ù×÷֮ǰµÃµ½Õâ¸ö¡¡InetAddress¡¡£¨»¥ÁªÍøµØÖ·£©¡£ÎÒÃDz»¿ÉÒÔ²Ù×ÝÒ»¸ö¡¡
InetAddress¡¡µÄÄÚÈÝ£¨µ«¿É°ÑËü´òÓ¡³öÀ´£¬¾ÍÏóÏÂÒ»¸öÀý×ÓÒªÑÝʾµÄÄÇÑù£©¡£´´½¨¡¡InetAddress¡¡µÄΨһ;¾¶¡¡
¾ÍÊÇÄǸöÀàµÄstatic¡¡£¨¾²Ì¬£©³ÉÔ±·½·¨getByName£¨£©¡¡£¨ÕâÊÇ×î³£Óõģ©¡¢getAllByName£¨£©»òÕß¡¡
getLocalHost£¨£©¡£¡¡¡¡
ΪµÃµ½±¾µØÖ÷»úµØÖ·£¬Òà¿ÉÏòÆäÖ±½Ó´«µÝ×Ö´®¡¨localhost¡¨£º¡¡¡¡
InetAddress¡£getByName£¨¡¨localhost¡¨£©£»¡¡¡¡
»òÕßʹÓÃËüµÄ±£Áô¡¡IP¡¡µØÖ·£¨ËĵãÐÎʽ£©£¬¾ÍÏóÏÂÃæÕâÑù£º¡¡¡¡
InetAddress¡£getByName£¨¡¨127¡£0¡£0¡£1¡¨£©£»¡¡¡¡
ÕâÈýÖÖ·½·¨µÃµ½µÄ½á¹ûÊÇÒ»ÑùµÄ¡£¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡538¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡540¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
15¡£1¡£2¡¡¶Ë¿Ú£º»úÆ÷ÄÚ¶ÀÒ»ÎÞ¶þµÄ³¡Ëù¡¡¡¡
ÓÐЩʱºò£¬Ò»¸ö¡¡IPµØÖ·²¢²»×ãÒÔÍêÕû±êʶһ¸ö·þÎñÆ÷¡£ÕâÊÇÓÉÓÚÔÚһ̨ÎïÀíÐԵĻúÆ÷ÖУ¬ÍùÍùÔËÐÐ×Ŷà¸ö·þ¡¡
ÎñÆ÷£¨³ÌÐò£©¡£ÓÉ¡¡IP¡¡±í´ïµÄÿ̨»úÆ÷Ò²°üº¬ÁË¡°¶Ë¿Ú¡±£¨Port¡¡£©¡£ÎÒÃÇÉèÖÃÒ»¸ö¿Í»§»ú»òÕß·þÎñÆ÷µÄʱºò£¬¡¡
±ØÐëÑ¡ÔñÒ»¸öÎÞÂÛ¿Í»§»ú»¹ÊÇ·þÎñÆ÷¶¼ÈÏ¿ÉÁ¬½ÓµÄ¶Ë¿Ú¡£¾ÍÏóÎÒÃÇÈ¥°Ý»áijÈËʱ£¬IP¡¡µØÖ·ÊÇËû¾ÓסµÄ·¿×Ó£¬¡¡
¶ø¶Ë¿ÚÊÇËûÔÚµÄÄǸö·¿¼ä¡£¡¡¡¡
×¢Òâ¶Ë¿Ú²¢²»ÊÇ»úÆ÷ÉÏÒ»¸öÎïÀíÉÏ´æÔڵij¡Ëù£¬¶øÊÇÒ»ÖÖÈí¼þ³éÏó£¨Ö÷ÒªÊÇΪÁ˱íÊöµÄ·½±ã£©¡£¿Í»§³ÌÐòÖª¡¡
µÀÈçºÎͨ¹ý»úÆ÷µÄ¡¡IP¡¡µØַͬËüÁ¬½Ó£¬µ«ÔõÑù²ÅÄÜͬ×Ô¼ºÕæÕýÐèÒªµÄÄÇÖÖ·þÎñÁ¬½ÓÄØ£¨Ò»°ãÿ¸ö¶Ë¿Ú¶¼ÔËÐÐ×Å¡¡
Ò»ÖÖ·þÎñ£¬Ò»Ì¨»úÆ÷¿ÉÄÜÌṩÁ˶àÖÖ·þÎñ£¬±ÈÈçHTTP¡¡ºÍ¡¡FTP¡¡µÈµÈ£©£¿¶Ë¿Ú±àºÅÔÚÕâÀï°çÑÝÁËÖØÒªµÄ½ÇÉ«£¬Ëü¡¡
ÊDZØÐèµÄÒ»ÖÖ¶þ¼¶¶¨Ö·´ëÊ©¡£Ò²¾ÍÊÇ˵£¬ÎÒÃÇÇëÇóÒ»¸öÌض¨µÄ¶Ë¿Ú£¬±ãÏ൱ÓÚÇëÇóÓëÄǸö¶Ë¿Ú±àºÅ¹ØÁªµÄ·þ¡¡
Îñ¡£¡°±¨Ê±¡±±ãÊÇ·þÎñµÄÒ»¸öµäÐÍÀý×Ó¡£Í¨³££¬Ã¿¸ö·þÎñ¶¼Í¬Ò»Ì¨Ìض¨·þÎñÆ÷»úÆ÷ÉϵÄÒ»¸ö¶ÀÒ»ÎÞ¶þµÄ¶Ë¿Ú¡¡
±àºÅ¹ØÁªÔÚÒ»Æ𡣿ͻ§³ÌÐò±ØÐëÊÂÏÈÖªµÀ×Ô¼ºÒªÇóµÄÄÇÏî·þÎñµÄÔËÐж˿ںš£¡¡¡¡
ϵͳ·þÎñ±£ÁôÁËʹÓö˿ڡ¡1¡¡µ½¶Ë¿Ú¡¡1024¡¡µÄȨÁ¦£¬ËùÒÔ²»Ó¦ÈÃ×Ô¼ºÉè¼ÆµÄ·þÎñÕ¼ÓÃÕâЩÒÔ¼°ÆäËûÈκÎÒÑÖªÕýÔÚ¡¡
ʹÓõĶ˿ڡ£±¾ÊéµÄµÚÒ»¸öÀý×Ó½«Ê¹Óö˿Ú8080¡¡£¨Îª×·ÒäÎҵĵÚһ̨»úÆ÷ʹÓõÄÀÏʽ8¡¡Î»¡¡Intel¡¡8080о¡¡
Ƭ£¬ÄÇÊÇÒ»²¿Ê¹ÓÃCP/M¡¡²Ù×÷ϵͳµÄ»ú×Ó£©¡£¡¡¡¡
15¡£2¡¡Ì×½Ó×Ö¡¡¡¡
¡¡¡°Ì×½Ó×Ö¡±»òÕß¡°²å×ù¡±£¨Socket£©Ò²ÊÇÒ»ÖÖÈí¼þÐÎʽµÄ³éÏó£¬ÓÃÓÚ±í´ïÁ½Ì¨»úÆ÷¼äÒ»¸öÁ¬½ÓµÄ¡°Öնˡ±¡£¡¡
Õë¶ÔÒ»¸öÌض¨µÄÁ¬½Ó£¬Ã¿Ì¨»úÆ÷É϶¼ÓÐÒ»¸ö¡°Ì×½Ó×Ö¡±£¬¿ÉÒÔÏëÏóËüÃÇÖ®¼äÓÐÒ»ÌõÐéÄâµÄ¡°ÏßÀ¡±¡£ÏßÀµġ¡
ÿһ¶Ë¶¼²åÈëÒ»¸ö¡°Ì×½Ó×Ö¡±»òÕß¡°²å×ù¡±Àï¡£µ±È»£¬»úÆ÷Ö®¼äµÄÎïÀíÐÔÓ²¼þÒÔ¼°µçÀÂÁ¬½Ó¶¼ÊÇÍêȫδ֪¡¡
µÄ¡£³éÏóµÄ»ù±¾×ÚÖ¼ÊÇÈÃÎÒÃǾ¡¿ÉÄܲ»±ØÖªµÀÄÇЩϸ½Ú¡£¡¡¡¡
ÔÚJava¡¡ÖУ¬ÎÒÃÇ´´½¨Ò»¸öÌ×½Ó×Ö£¬ÓÃËü½¨Á¢ÓëÆäËû»úÆ÷µÄÁ¬½Ó¡£´ÓÌ×½Ó×ֵõ½µÄ½á¹ûÊÇÒ»¸ö¡¡InputStream¡¡ÒÔ¡¡
¼°OutputStream¡¡£¨ÈôʹÓÃÇ¡µ±µÄת»»Æ÷£¬Ôò·Ö±ðÊÇReader¡¡ºÍ¡¡Writer£©£¬ÒԱ㽫Á¬½Ó×÷Ϊһ¸öIOÁ÷¶ÔÏó¶Ô¡¡
´ý¡£ÓÐÁ½¸ö»ùÓÚÊý¾ÝÁ÷µÄÌ×½Ó×ÖÀࣺServerSocket£¬·þÎñÆ÷ÓÃËü¡°ÕìÌý¡±½øÈëµÄÁ¬½Ó£»ÒÔ¼°Socket£¬¿Í»§Óá¡
Ëü³õʼһ´ÎÁ¬½Ó¡£Ò»µ©¿Í»§£¨³ÌÐò£©ÉêÇ뽨Á¢Ò»¸öÌ×½Ó×ÖÁ¬½Ó£¬ServerSocket¡¡¾Í»á·µ»Ø£¨Í¨¹ýaccept£¨£©·½¡¡
·¨£©Ò»¸ö¶ÔÓ¦µÄ·þÎñÆ÷¶ËÌ×½Ó×Ö£¬ÒÔ±ã½øÐÐÖ±½ÓͨÐÅ¡£´Ó´ËʱÆð£¬ÎÒÃǾ͵õ½ÁËÕæÕýµÄ¡°Ì×½Ó×Ö£Ì×½Ó×Ö¡±¡¡
Á¬½Ó£¬¿ÉÒÔÓÃͬÑùµÄ·½Ê½¶Ô´ýÁ¬½ÓµÄÁ½¶Ë£¬ÒòΪËüÃDZ¾À´¾ÍÊÇÏàͬµÄ£¡´Ëʱ¿ÉÒÔÀûÓá¡getInputStream£¨£©ÒÔ¼°¡¡
getOutputStream£¨£©´Óÿ¸öÌ×½Ó×Ö²úÉú¶ÔÓ¦µÄ¡¡InputStream¡¡ºÍOutputStream¡¡¶ÔÏó¡£ÕâЩÊý¾ÝÁ÷±ØÐë·â×°µ½»º¡¡
³åÇøÄÚ¡£¿É°´µÚ¡¡10Õ½éÉܵķ½·¨¶ÔÀà½øÐиñʽ»¯£¬¾ÍÏó¶Ô´ýÆäËûÈκÎÁ÷¶ÔÏóÄÇÑù¡£¡¡¡¡
¶ÔÓÚJava¡¡¿âµÄÃüÃû»úÖÆ£¬ServerSocket¡¡£¨·þÎñÆ÷Ì×½Ó×Ö£©µÄʹÓÃÎÞÒÉÊÇÈÝÒײúÉú»ìÏýµÄÓÖÒ»¸öÀýÖ¤¡£´ó¼Ò¿É¡¡
ÄÜÈÏΪServerSocket¡¡×îºÃ½Ð×÷¡°ServerConnector¡±£¨·þÎñÆ÷Á¬½ÓÆ÷£©£¬»òÕßÆäËûʲôÃû×Ö£¬Ö»ÊDz»ÒªÔÚÆä¡¡
Öа²²åÒ»¸ö¡°Socket¡±¡£Ò²¿ÉÄÜÒÔΪServerSocket¡¡ºÍ¡¡Socket¡¡¶¼Ó¦´ÓһЩͨÓõĻù´¡Àà¼Ì³Ð¡£ÊÂʵÉÏ£¬ÕâÁ½¡¡
ÖÖÀàȷʵ°üº¬Á˼¸¸öͨÓõķ½·¨£¬µ«»¹²»¹»×ʸñ°ÑËüÃǸ³¸øÒ»¸öͨÓõĻù´¡Àà¡£Ïà·´£¬ServerSocket¡¡µÄÖ÷Òª¡¡
ÈÎÎñÊÇÔÚÄÇÀïÄÍÐĵصȺòÆäËû»úÆ÷ͬËüÁ¬½Ó£¬ÔÙ·µ»ØÒ»¸öʵ¼ÊµÄSocket¡£ÕâÕýÊÇ¡°ServerSocket¡±Õâ¸öÃüÃû¡¡
²»Ç¡µ±µÄµØ·½£¬ÒòΪËüµÄÄ¿±ê²»ÊÇÕæµÄ³ÉΪһ¸öSocket£¬¶øÊÇÔÚÆäËûÈËͬËüÁ¬½ÓµÄʱºò²úÉúÒ»¸öSocket¡¡¶Ô¡¡
Ï󡣡¡¡¡
È»¶ø£¬ServerSocket¡¡È·Êµ»áÔÚÖ÷»úÉÏ´´½¨Ò»¸öÎïÀíÐԵġ°·þÎñÆ÷¡±»òÕßÕìÌýÓõÄÌ×½Ó×Ö¡£Õâ¸öÌ×½Ó×Ö»áÕìÌý¡¡
½øÈëµÄÁ¬½Ó£¬È»ºóÀûÓá¡accept£¨£©·½·¨·µ»ØÒ»¸ö¡°Òѽ¨Á¢¡±Ì×½Ó×Ö£¨±¾µØºÍÔ¶³Ì¶Ëµã¾ùÒѶ¨Ò壩¡£ÈÝÒ×»ìÏýµÄ¡¡
µØ·½ÊÇÕâÁ½¸öÌ×½Ó×Ö£¨ÕìÌýºÍÒѽ¨Á¢£©¶¼ÓëÏàͬµÄ·þÎñÆ÷Ì×½Ó×Ö¹ØÁªÔÚÒ»Æð¡£ÕìÌýÌ×½Ó×ÖÖ»ÄܽÓÊÕеÄÁ¬½Ó¡¡
ÇëÇ󣬲»ÄܽÓÊÕʵ¼ÊµÄÊý¾Ý°ü¡£ËùÒÔ¾¡¹Ü¡¡ServerSocket¡¡¶ÔÓÚ±à³Ì²¢ÎÞÌ«´óµÄÒâÒ壬µ«ËüȷʵÊÇ¡°ÎïÀíÐÔ¡±¡¡
µÄ¡£¡¡¡¡
´´½¨Ò»¸öServerSocket¡¡Ê±£¬Ö»ÐèΪÆ丳ÓèÒ»¸ö¶Ë¿Ú±àºÅ¡£²»±Ø°ÑÒ»¸ö¡¡IP¡¡µØÖ··ÖÅäËü£¬ÒòΪËüÒѾÔÚ×Ô¼º´ú¡¡
±íµÄÄÇ̨»úÆ÷ÉÏÁË¡£µ«ÔÚ´´½¨Ò»¸ö¡¡Socket¡¡Ê±£¬È´±ØÐëͬʱ¸³ÓèIP¡¡µØÖ·ÒÔ¼°ÒªÁ¬½ÓµÄ¶Ë¿Ú±àºÅ£¨ÁíÒ»·½Ã棬¡¡
´ÓServerSocket¡£accept£¨£©·µ»ØµÄ¡¡Socket¡¡ÒѾ°üº¬ÁËËùÓÐÕâЩÐÅÏ¢£©¡£¡¡¡¡
15¡£2¡£1¡¡Ò»¸ö¼òµ¥µÄ·þÎñÆ÷ºÍ¿Í»§»ú³ÌÐò¡¡¡¡
Õâ¸öÀý×Ó½«ÒÔ×î¼òµ¥µÄ·½Ê½ÔËÓÃÌ×½Ó×Ö¶Ô·þÎñÆ÷ºÍ¿Í»§»ú½øÐвÙ×÷¡£·þÎñÆ÷µÄÈ«²¿¹¤×÷¾ÍÊǵȺò½¨Á¢Ò»¸öÁ¬¡¡
½Ó£¬È»ºóÓÃÄǸöÁ¬½Ó²úÉúµÄSocket¡¡´´½¨Ò»¸ö¡¡InputStream¡¡ÒÔ¼°Ò»¸öOutputStream¡£ÔÚÕâÖ®ºó£¬Ëü´Ó¡¡
InputStream¶ÁÈëµÄËùÓж«Î÷¶¼»á·´À¡¸øOutputStream£¬Ö±µ½½ÓÊÕµ½ÐÐÖÐÖ¹£¨END£©ÎªÖ¹£¬×îºó¹Ø±ÕÁ¬½Ó¡£¡¡¡¡
¿Í»§»úÁ¬½ÓÓë·þÎñÆ÷µÄÁ¬½Ó£¬È»ºó´´½¨Ò»¸öOutputStream¡£Îı¾ÐÐͨ¹ýOutputStream¡¡·¢ËÍ¡£¿Í»§»úÒ²»á´´¡¡
½¨Ò»¸ö¡¡InputStream£¬ÓÃËüÊÕÌý·þÎñÆ÷˵Щʲô£¨±¾ÀýÖ»²»¹ýÊÇ·´À¡»ØÀ´µÄͬÑùµÄ×־䣩¡£¡¡¡¡
·þÎñÆ÷Óë¿Í»§»ú£¨³ÌÐò£©¶¼Ê¹ÓÃͬÑùµÄ¶Ë¿ÚºÅ£¬¶øÇÒ¿Í»§»úÀûÓñ¾µØÖ÷»úµØÖ·Á¬½ÓλÓÚͬһ̨»úÆ÷ÖеķþÎñ¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡539¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡541¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
Æ÷£¨³ÌÐò£©£¬ËùÒÔ²»±ØÔÚÒ»¸öÎïÀíÐÔµÄÍøÂçÀïÍê³É²âÊÔ£¨ÔÚijЩÅäÖû·¾³ÖУ¬¿ÉÄÜÐèҪͬÕæÕýµÄÍøÂ罨Á¢Á¬¡¡
½Ó£¬·ñÔò³ÌÐò²»Äܹ¤×÷¡ª¡ª¾¡¹Üʵ¼Ê²¢²»Í¨¹ýÄǸöÍøÂçͨÐÅ£©¡£¡¡¡¡
ÏÂÃæÊÇ·þÎñÆ÷³ÌÐò£º¡¡¡¡
¡¡¡¡
//£º¡¡JabberServer¡£java¡¡¡¡
//¡¡Very¡¡simple¡¡server¡¡that¡¡just¡¡¡¡
//¡¡echoes¡¡whatever¡¡the¡¡client¡¡sends¡£¡¡¡¡
import¡¡java¡£io¡£*£»¡¡¡¡
import¡¡java¡£*£»¡¡¡¡
¡¡¡¡
public¡¡class¡¡JabberServer¡¡£û¡¡¡¡¡¡¡¡
¡¡¡¡//¡¡Choose¡¡a¡¡port¡¡outside¡¡of¡¡the¡¡range¡¡1¡1024£º¡¡¡¡
¡¡¡¡public¡¡static¡¡final¡¡int¡¡PORT¡¡=¡¡8080£»¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡main£¨String£§£§¡¡args£©¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡throws¡¡IOException¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡ServerSocket¡¡s¡¡=¡¡new¡¡ServerSocket£¨PORT£©£»¡¡¡¡
¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨Started£º¡¡¡¨¡¡£«¡¡s£©£»¡¡¡¡
¡¡¡¡¡¡¡¡try¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡//¡¡Blocks¡¡until¡¡a¡¡connection¡¡occurs£º¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡Socket¡¡socket¡¡=¡¡s¡£accept£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡try¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨Connection¡¡accepted£º¡¡¡¨£«¡¡socket£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡BufferedReader¡¡in¡¡=¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡BufferedReader£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡InputStreamReader£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡socket¡£getInputStream£¨£©£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡Output¡¡is¡¡automatically¡¡flushed¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡by¡¡PrintWriter£º¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡PrintWriter¡¡out¡¡=¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡PrintWriter£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡BufferedWriter£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡new¡¡OutputStreamWriter£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡socket¡£getOutputStream£¨£©£©£©£»true£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡while¡¡£¨true£©¡¡£û¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡String¡¡str¡¡=¡¡in¡£readLine£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡if¡¡£¨str¡£equals£¨¡¨END¡¨£©£©¡¡break£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨Echoing£º¡¡¡¨¡¡£«¡¡str£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡out¡£println£¨str£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡//¡¡Always¡¡close¡¡the¡¡two¡¡sockets¡£¡£¡£¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡finally¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨closing¡£¡£¡£¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡socket¡£close£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡¡¡¡¡£ý¡¡finally¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡s¡£close£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡£ý¡¡¡¡¡¡
£ý¡¡///£º~¡¡¡¡
¡¡¡¡
¿ÉÒÔ¿´µ½£¬ServerSocket¡¡ÐèÒªµÄÖ»ÊÇÒ»¸ö¶Ë¿Ú±àºÅ£¬²»ÐèÒª¡¡IPµØÖ·£¨ÒòΪËü¾ÍÔÚÕą̂»úÆ÷ÉÏÔËÐУ©¡£µ÷Óá¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡540¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡542¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
accept£¨£©Ê±£¬·½·¨»áÔÝʱÏÝÈëÍ£¶Ù״̬£¨¶ÂÈû£©£¬Ö±µ½Ä³¸ö¿Í»§³¢ÊÔͬËü½¨Á¢Á¬½Ó¡£»»ÑÔÖ®£¬¾¡¹ÜË