ÓÑÇéÌáʾ£ºÈç¹û±¾ÍøÒ³´ò¿ªÌ«Âý»òÏÔʾ²»ÍêÕû£¬Çë³¢ÊÔÊó±êÓÒ¼ü¡°Ë¢Ð¡±±¾ÍøÒ³£¡
µÚÈýµç×ÓÊé ·µ»Ø±¾ÊéĿ¼ ¼ÓÈëÊéÇ© ÎÒµÄÊé¼Ü ÎÒµÄÊéÇ© TXTÈ«±¾ÏÂÔØ ¡ºÊղص½ÎÒµÄä¯ÀÀÆ÷¡»

Java±à³Ì˼ÏëµÚ4°æ[ÖÐÎÄ°æ](PDF¸ñʽ)-µÚ126²¿·Ö

¿ì½Ý²Ù×÷: °´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·­Ò³ °´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ °´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿! Èç¹û±¾ÊéûÓÐÔĶÁÍ꣬ÏëÏ´μÌÐø½Ó×ÅÔĶÁ£¬¿ÉʹÓÃÉÏ·½ "Êղص½ÎÒµÄä¯ÀÀÆ÷" ¹¦ÄÜ ºÍ "¼ÓÈëÊéÇ©" ¹¦ÄÜ£¡


¡¡¡¡¡¡¡¡£ý¡¡¡¡

¡¡¡¡¡¡¡¡InetAddress¡¡a¡¡=¡¡¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡InetAddress¡£getByName£¨args£§0£§£©£»¡¡¡¡

¡¡¡¡¡¡¡¡System¡£out¡£println£¨a£©£»¡¡¡¡

¡¡¡¡£ý¡¡¡¡

£ý¡¡///£º~¡¡¡¡

¡¡¡¡

¾ÍÎÒ×Ô¼ºµÄÇé¿öÀ´Ëµ£¬»úÆ÷µÄÃû×Ö½Ð×÷¡°Colossus¡±£¨À´×ÔͬÃûµçÓ°£¬¡°¾ÞÈË¡±µÄÒâ˼¡£ÎÒÔÚÕą̂»úÆ÷ÉÏÓС¡

Ò»¸öºÜ´óµÄÓ²ÅÌ£©¡£ËùÒÔÒ»µ©Á¬Í¨ÎÒµÄISP£¬¾ÍÏóÏÂÃæÕâÑùÖ´ÐгÌÐò£º¡¡¡¡

java¡¡whoAmI¡¡Colossus¡¡¡¡

µÃµ½µÄ½á¹ûÏóÏÂÃæÕâ¸öÑù×Ó£¨µ±È»£¬Õâ¸öµØÖ·¿ÉÄÜÿ´Î¶¼ÊDz»Í¬µÄ£©£º¡¡¡¡

Colossus/202¡£98¡£41¡£151¡¡¡¡

¼ÙÈçÎÒ°ÑÕâ¸öµØÖ·¸æËßһλÅóÓÑ£¬Ëû¾Í¿ÉÒÔÁ¢¼´µÇ¼µ½ÎҵĸöÈËWeb¡¡·þÎñÆ÷£¬Ö»ÐèÖ¸¶¨Ä¿±êµØÖ·¡¡

http£º//202¡£98¡£41¡£151¡¡¼´¿É£¨µ±È»£¬ÎÒ´Ëʱ²»ÄܶÏÏߣ©¡£ÓÐЩʱºò£¬ÕâÊÇÏòÆäËûÈË·¢ËÍÐÅÏ¢»òÕßÔÚ×Ô¼ºµÄ¡¡

Web¡¡Õ¾µãÕýʽ³ǫ̈ÒÔÇ°½øÐвâÊÔµÄÒ»ÖÖ·½±ãÊֶΡ£¡¡¡¡



15¡£1¡£1¡¡·þÎñÆ÷ºÍ¿Í»§»ú¡¡¡¡



ÍøÂç×î»ù±¾µÄ¾«Éñ¾ÍÊÇÈÃÁ½Ì¨»úÆ÷Á¬½Óµ½Ò»Æ𣬲¢Ï໥¡°½»Ì¸¡±»òÕß¡°¹µÍ¨¡±¡£Ò»µ©Á½Ì¨»úÆ÷¶¼·¢ÏÖÁ˶ԡ¡

·½£¬¾Í¿ÉÒÔÕ¹¿ªÒ»´ÎÁîÈËÓä¿ìµÄË«Ïò¶Ô»°¡£µ«ËüÃÇÔõÑù²ÅÄÜ¡°·¢ÏÖ¡±¶Ô·½ÄØ£¿Õâ¾ÍÏóÔÚÓÎÀÖÔ°ÀïÄÇÑù£ºÒ»Ì¨¡¡

»úÆ÷²»µÃ²»Í£ÁôÔÚÒ»¸öµØ·½£¬ÕìÌýÆäËû»úÆ÷˵£º¡°ºÙ£¬ÄãÔÚÄÄÀïÄØ£¿¡±¡¡¡¡

¡¡¡°Í£ÁôÔÚÒ»¸öµØ·½¡±µÄ»úÆ÷½Ð×÷¡°·þÎñÆ÷¡±£¨Server£©£»µ½´¦¡°ÕÒÈË¡±µÄ»úÆ÷Ôò½Ð×÷¡°¿Í»§»ú¡±£¨Client£©¡¡

»òÕß¡°¿Í»§¡±¡£ËüÃÇÖ®¼äµÄÇø±ðÖ»ÓÐÔÚ¿Í»§»úÊÔͼͬ·þÎñÆ÷Á¬½ÓµÄʱºò²ÅÏԵ÷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£¨£©Ê±£¬·½·¨»áÔÝʱÏÝÈëÍ£¶Ù״̬£¨¶ÂÈû£©£¬Ö±µ½Ä³¸ö¿Í»§³¢ÊÔͬËü½¨Á¢Á¬½Ó¡£»»ÑÔÖ®£¬¾¡¹ÜËüÔÚÄÇÀï¡¡

µÈºòÁ¬½Ó£¬µ«ÆäËû½ø³ÌÈÔÄÜÕý³£ÔËÐУ¨²Î¿¼µÚ¡¡14Õ£©¡£½¨ºÃÒ»¸öÁ¬½ÓÒÔºó£¬accept£¨£©¾Í»á·µ»ØÒ»¸ö¡¡Socket¡¡

¶ÔÏó£¬ËüÊÇÄǸöÁ¬½ÓµÄ´ú±í¡£¡¡¡¡

Çå³ýÌ×½Ó×ÖµÄÔðÈÎÔÚÕâÀïµÃµ½Á˺ÜÒÕÊõµÄ´¦Àí¡£¼ÙÈçServerSocket¡¡¹¹½¨Æ÷ʧ°Ü£¬Ôò³ÌÐò¼òµ¥µØÍ˳ö£¨×¢Òâ±Ø¡¡

Ðë±£Ö¤¡¡ServerSocket¡¡µÄ¹¹½¨Æ÷ÔÚʧ°ÜÖ®ºó²»»áÁôÏÂÈκδò¿ªµÄÍøÂçÌ×½Ó×Ö£©¡£Õë¶ÔÕâÖÖÇé¿ö£¬main£¨£©»á¡¡

¡¡¡°ÖÀ¡±³öÒ»¸öIOException¡¡Î¥Àý£¬ËùÒÔ²»±ØʹÓÃÒ»¸ötry¡¡¿é¡£Èô¡¡ServerSocket¡¡¹¹½¨Æ÷³É¹¦Ö´ÐУ¬ÔòÆäËûËùÓС¡

·½·¨µ÷Óö¼±ØÐëµ½Ò»¸ö¡¡try¡­finally´úÂë¿éÀïÑ°Çó±£»¤£¬ÒÔÈ·±£ÎÞÂÛ¿éÒÔʲô·½Ê½ÁôÏ£¬ServerSocket¡¡¶¼ÄÜ¡¡

ÕýÈ·µØ¹Ø±Õ¡£¡¡¡¡

ͬÑùµÄµÀÀíÒ²ÊÊÓÃÓÚÓÉ¡¡accept£¨£©·µ»ØµÄ¡¡Socket¡£Èôaccept£¨£©¡¡Ê§°Ü£¬ÄÇôÎÒÃDZØÐë±£Ö¤Socket¡¡²»ÔÙ´æÔÚ»òÕß¡¡

º¬ÓÐÈκÎ×ÊÔ´£¬ÒԱ㲻±ØÇå³ýËüÃÇ¡£µ«¼ÙÈôÖ´Ðгɹ¦£¬ÔòºóÐøµÄÓï¾ä±ØÐë½øÈëÒ»¸ötry¡­finally¡¡¿éÄÚ£¬ÒÔ±£¡¡

ÕÏÔÚËüÃÇʧ°ÜµÄÇé¿öÏ£¬Socket¡¡ÈÔÄܵõ½ÕýÈ·µÄÇå³ý¡£ÓÉÓÚÌ×½Ó×ÖʹÓÃÁËÖØÒªµÄ·ÇÄÚ´æ×ÊÔ´£¬ËùÒÔÔÚÕâÀï±Ø¡¡

ÐëÌرð½÷É÷£¬±ØÐë×Ô¼º¶¯ÊÖ½«ËüÃÇÇå³ý£¨Java¡¡ÖÐûÓÐÌṩ¡°ÆÆ»µÆ÷¡±À´°ïÖúÎÒÃÇ×öÕâ¼þÊÂÇ飩¡£¡¡¡¡

ÎÞÂÛServerSocket¡¡»¹ÊÇÓÉ¡¡accept£¨£©²úÉúµÄ¡¡Socket¡¡¶¼´òÓ¡µ½¡¡System¡£out¡¡Àï¡£ÕâÒâζ×ÅËüÃǵġ¡toString·½·¨¡¡

»áµÃµ½×Ô¶¯µ÷Óá£ÕâÑù±ã²úÉúÁË£º¡¡¡¡

¡¡¡¡

ServerSocket£§addr=0¡£0¡£0¡£0£»PORT=0£»localport=8080£§¡¡¡¡

Socket£§addr=127¡£0¡£0¡£1£»PORT=1077£»localport=8080£§¡¡¡¡

¡¡¡¡

´ó¼Ò²»¾Ã¾Í»á¿´µ½ËüÃÇÈçºÎÓë¿Í»§³ÌÐò×öµÄÊÂÇéÅäºÏ¡£¡¡¡¡

³ÌÐòµÄÏÂÒ»²¿·Ö¿´À´Ëƺõ½ö½öÊÇ´ò¿ªÎļþ£¬ÒÔ±ã¶ÁÈ¡ºÍдÈ룬ֻÊÇ¡¡InputStreamºÍ¡¡OutputStream¡¡ÊÇ´Ó¡¡

Socket¡¡¶ÔÏó´´½¨µÄ¡£ÀûÓÃÁ½¸ö¡°×ª»»Æ÷¡±Àà¡¡InputStreamReader¡¡ºÍOutputStreamWriter¡¡£¬InputStreamºÍ¡¡

OutputStream¡¡¶ÔÏóÒѾ­·Ö±ðת»»³ÉΪ¡¡Java¡¡1¡£1¡¡µÄReader¡¡ºÍ¡¡Writer¡¡¶ÔÏó¡£Ò²¿ÉÒÔÖ±½ÓʹÓá¡Java1¡£0¡¡µÄ¡¡

InputStreamºÍ¡¡OutputStream¡¡À࣬µ«¶ÔÊä³öÀ´Ëµ£¬Ê¹ÓÃWriter¡¡·½Ê½¾ßÓÐÃ÷ÏÔµÄÓÅÊÆ¡£ÕâÒ»ÓÅÊÆÊÇͨ¹ý¡¡

PrintWriter¡¡±íÏÖ³öÀ´µÄ£¬ËüÓÐÒ»¸ö¹ýÔصĹ¹½¨Æ÷£¬ÄÜ»ñÈ¡µÚ¶þ¸ö²ÎÊý¡ª¡ªÒ»¸ö²¼¶ûÖµ±êÖ¾£¬Ö¸ÏòÊÇ·ñÔÚÿ¡¡

Ò»´Îprintln£¨£©½áÊøµÄʱºò×Ô¶¯Ë¢ÐÂÊä³ö£¨µ«²»ÊÊÓÃÓÚprint£¨£©Óï¾ä£©¡£Ã¿´ÎдÈëÁËÊä³öÄÚÈݺó£¨Ð´½ø¡¡

out£©£¬ËüµÄ»º³åÇø±ØÐëˢУ¬Ê¹ÐÅÏ¢ÄÜÕýʽͨ¹ýÍøÂç´«µÝ³öÈ¥¡£¶ÔÄ¿Ç°Õâ¸öÀý×ÓÀ´Ëµ£¬Ë¢ÐÂÏÔµÃÓÈΪÖØÒª£¬¡¡

ÒòΪ¿Í»§ºÍ·þÎñÆ÷ÔÚ²ÉÈ¡ÏÂÒ»²½²Ù×÷֮ǰ¶¼ÒªµÈ´ýÒ»ÐÐÎı¾ÄÚÈݵĵ½´ï¡£ÈôË
·µ»ØĿ¼ ÉÏÒ»Ò³ ÏÂÒ»Ò³ »Øµ½¶¥²¿ ÔÞ£¨1£© ²È£¨1£©
¿ì½Ý²Ù×÷: °´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·­Ò³ °´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ °´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿!
ÎÂÜ°Ìáʾ£º ο´Ð¡ËµµÄͬʱ·¢±íÆÀÂÛ£¬Ëµ³ö×Ô¼ºµÄ¿´·¨ºÍÆäËüС»ï°éÃÇ·ÖÏíÒ²²»´íŶ£¡·¢±íÊéÆÀ»¹¿ÉÒÔ»ñµÃ»ý·ÖºÍ¾­Ñé½±Àø£¬ÈÏÕæдԭ´´ÊéÆÀ ±»²ÉÄÉΪ¾«ÆÀ¿ÉÒÔ»ñµÃ´óÁ¿½ð±Ò¡¢»ý·ÖºÍ¾­Ñé½±ÀøŶ£¡