¡¶Java»ù´¡ÈëÃÅ¡· - ¿ÎºóϰÌâÒªµã ÏÂÔØ±¾ÎÄ

²©Ñ§¹È¡ª¡ªÈÃIT½Ìѧ¸ü¼òµ¥£¬ÈÃITѧϰ¸üÓÐЧ

}

}

jframe.setSize(150, 200); jframe.setVisible(true);

Îå¡¢¼ò´ðÌâ¡£

1¡¢Çë¼òÊöGUIÖÐʵÏÖʼþ¼àÌýµÄ²½Öè¡£ 2¡¢AWTºÍSwingµÄÇø±ð Áù¡¢±à³ÌÌâ

1¡¢±àдһ¸öJFrame´°¿Ú£¬ÒªÇóÈçÏ£º

1£©ÔÚ´°¿ÚµÄ×îÉÏ·½·ÅÖÃÒ»¸öJLabel±êÇ©£¬±êÇ©ÖÐĬÈϵÄÎı¾ÊÇ¡°´Ë´¦ÏÔʾÊó±êÓÒ¼üµã»÷µÄ×ø±ê¡± 2£©ÎªJFrame´°¿ÚÌí¼ÓÒ»¸öÊó±êʼþ£¬µ±Êó±êÓÒ¼üµã»÷´°¿Úʱ£¬Êó±êµÄ×ø±êÔÚJLabel±êÇ©ÖÐÏÔʾ 2¡¢±àдһ¸öJFrame´°¿Ú£¬ÒªÇóÈçÏ£º

1£©´°¿ÚÖеÄNORTHÇøÓòÖзÅÖÃÒ»¸öJPanelÃæ°å 2£©JPanelÃæ°åÖдÓ×óµ½ÓÒÒÀ´Î·ÅÖÃÈçÏÂ×é¼þ£º JLabel±êÇ©£¬±êÇ©µÄÎı¾Îª¡°ÐËȤ¡±

Èý¸öJCheckBox¶àÑ¡°´Å¥£¬Îı¾·Ö±ðΪ¡°ÓðëÇò¡±¡¢¡°Æ¹ÅÒÇò¡±¡¢¡°³ª¸è¡± JLabel±êÇ©£¬±êÇ©µÄÎı¾Îª¡°ÐÔ±ð¡±

Á½¸öJRadioButton°´Å¥£¬Îı¾·Ö±ðΪ¡°ÄС±¡¢¡°Å®¡±

3£©´°¿ÚµÄCENTERÇøÓò·ÅÖÃÒ»¸öJScrollPaneÈÝÆ÷£¬ÈÝÆ÷ÖзÅÖÃÒ»¸öJTextAreaÎı¾Óò 4£©µ±µã»÷¶àÑ¡°´Å¥ºÍµ¥Ñ¡°´Å¥Ê±£¬»á°ÑÑ¡Öа´Å¥µÄÎı¾ÏÔʾÔÚJTextAreaÎı¾ÓòÖС£

3¡¢±àдһ¸öJFrame´°¿Ú£¬ÒªÇóÈçÏ£º

1£©´°¿Ú°üº¬Ò»¸ö²Ëµ¥À¸ºÍÒ»¸öJLabel±êÇ©¡£

2£©²Ëµ¥À¸ÖÐÓÐÁ½¸ö²Ëµ¥£¬µÚÒ»¸ö²Ëµ¥ÓÐÁ½¸ö²Ëµ¥ÏËüÃÇÖ®¼äÓ÷ָô·û·Ö¿ª£¬µÚ¶þ¸ö²Ëµ¥ÓÐÒ»¸ö

²Ëµ¥Ïî¡£

3£©JLabel±êÇ©·ÅÖÃÔÚ´°¿ÚµÄÖмä(¼´BorderLayout.CENTER)£¬µ±µã»÷²Ëµ¥ÏîµÄʱºò£¬²Ëµ¥ÏîÖеÄ

Îı¾ÏÔʾµÄJLabel±êÇ©ÖС£

µÚ10ÕÂ ÍøÂç±à³Ì

Ò»¡¢Ìî¿ÕÌâ

1¡¢TCPЭÒéµÄÌØµãÊÇ £¬¼´ÔÚ´«ÊäÊý¾ÝǰÏÈÔÚ ºÍ ½¨Á¢Âß¼­Á¬½Ó¡£

2¡¢ÔÚ¼ÆËã»úÖУ¬¶Ë¿ÚºÅÊÇÓà ×Ö½Ú£¬Ò²¾ÍÊÇ16λµÄ¶þ½øÖÆÊý±íʾ£¬ËüµÄȡֵ·¶Î§ÊÇ ¡£ 3¡¢TCP/IPЭÒé±»·ÖΪËĸö²ã£¬·Ö±ðÊÇ ¡¢ ¡¢ ¡¢ ¡£

4¡¢ÔÚJDKÖУ¬IPµØÖ·Óà ÀàÀ´±íʾµÄ£¬¸ÃÀàÌṩÁËÐí¶àºÍIPµØÖ·Ïà¹ØµÄ²Ù×÷¡£¡£ 5¡¢Ê¹ÓÃUDPЭÒ鿪·¢ÍøÂç³ÌÐòʱ£¬ÐèҪʹÓÃÁ½¸öÀ࣬·Ö±ðÊÇ ºÍ ¡£ ¶þ¡¢ÅжÏÌâ

1¡¢ÓÉÓÚUDPÊÇÃæÏòÎÞÁ¬½ÓµÄЭÒ飬¿ÉÒÔ±£Ö¤Êý¾ÝµÄÍêÕûÐÔ£¬Òò´ËÔÚ´«ÊäÖØÒªÊý¾Ýʱ½¨ÒéʹÓÃUDPЭÒé¡£

2¡¢ÔÚÍøÂçͨÐÅÖУ¬¶ÔÊý¾Ý´«Êä¸ñʽ¡¢´«ÊäËÙÂÊ¡¢´«Êä²½ÖèµÈ×÷ÁËͳһ¹æ¶¨£¬Ö»ÓÐͨÐÅË«·½¹²Í¬×ñÊØÕâ¸ö¹æ¶¨²ÅÄÜÍê³ÉÊý¾ÝµÄ½»»¥£¬ÕâÖֹ涨³ÆÎªÍøÂç´«ÊäЭÒé¡£

3¡¢ÔÚ´´½¨·¢ËͶ˵ÄDatagramPacket¶ÔÏóʱ£¬ÐèÒªÖ¸¶¨·¢ËͶ˵ÄÄ¿±êIPµØÖ·ºÍ¶Ë¿ÚºÅ¡£ 4¡¢IPv4°æ±¾µÄIPµØÖ·Ê¹ÓÃ4¸ö×Ö½ÚÀ´±íʾ£¬IPv6°æ±¾µÄIPµØÖ·Ê¹ÓÃ8¸ö×Ö½ÚÀ´±íʾ¡£ 5¡¢Ê¹ÓÃTCPЭÒéͨÐÅʱ£¬Í¨ÐŵÄÁ½¶ËÒÔIOµÄ·½Ê½½øÐÐÊý¾ÝµÄ½»»¥¡£

²©Ñ§¹È¡ª¡ªÈÃIT½Ìѧ¸ü¼òµ¥£¬ÈÃITѧϰ¸üÓÐЧ

Èý¡¢Ñ¡ÔñÌâ

1¡¢Ê¹ÓÃUDPЭÒéͨÐÅʱ£¬ÐèҪʹÓÃÄĸöÀà°ÑÒª·¢Ë͵ÄÊý¾Ý´ò°ü£¿

A¡¢Socket B¡¢DatagramSocket C¡¢DatagramPacket D¡¢ServerSocket 2¡¢ÒÔÏÂÄĸöÊÇserverSocketÀàÓÃÓÚ½ÓÊÕÀ´×Ô¿Í»§¶ËÇëÇóµÄ·½·¨£¿ A¡¢accept() B¡¢getOutputStream() C¡¢receive() D¡¢get() 3¡¢ÒÔÏÂ˵·¨ÄÄЩÊÇÕýÈ·µÄ£¿£¨¶àÑ¡£©

A¡¢TCPÁ¬½ÓÖбØÐëÒªÃ÷È·¿Í»§¶ËÓë·þÎñÆ÷¶Ë¡£

B¡¢TCPЭÒéÊÇÃæÏòÁ¬½ÓµÄͨÐÅЭÒ飬ËüÌṩÁËÁ½Ì¨¼ÆËã»úÖ®¼ä¿É¿¿ÎÞ²î´íµÄÊý¾Ý´«Êä¡£ C¡¢UDPЭÒéÊÇÃæÏòÎÞÁ¬½ÓµÄЭÒ飬¿ÉÒÔ±£Ö¤Êý¾ÝµÄÍêÕûÐÔ¡£

D¡¢UDPЭÒéÏûºÄ×ÊԴС£¬Í¨ÐÅЧÂʸߣ¬Í¨³£±»ÓÃÓÚÒôƵ¡¢ÊÓÆµºÍÆÕͨÊý¾ÝµÄ´«Êä¡£ 4¡¢ÒÔÏÂÄĸöÀàÓÃÓÚʵÏÖTCPͨÐŵĿͻ§¶Ë³ÌÐò£¿ A¡¢ServerSocket B¡¢Socket C¡¢Client D¡¢Server

5¡¢½øÐÐUDPͨÐÅʱ£¬ÔÚ½ÓÊÕ¶ËÈôÒª»ñµÃ·¢ËͶ˵ÄIPµØÖ·£¬¿ÉÒÔʹÓÃDatagramPacketµÄÄĸö·½·¨£¿ A¡¢getAddress() B¡¢getPort() C¡¢getName() D¡¢getData() 6¡¢ÒÔÏÂÄĸö·½·¨ÊÇDatagramSocketÀàÓÃÓÚ·¢ËÍÊý¾ÝµÄ·½·¨£¿ A¡¢receive() B¡¢accept() C¡¢set() D¡¢send()

7¡¢ÔÚ³ÌÐòÔËÐÐʱ£¬DatagramSocketµÄÄĸö·½·¨»á·¢Éú×èÈû£¿ A¡¢send() B¡¢receive() C¡¢close() D¡¢connect() 8¡¢TCPЭÒéµÄ¡°Èý´ÎÎÕÊÖ¡±ÖУ¬µÚÒ»´ÎÎÕÊÖÖ¸µÄÊÇʲô£¿ A¡¢¿Í»§¶ËÔÙ´ÎÏò·þÎñÆ÷¶Ë·¢ËÍÈ·ÈÏÐÅÏ¢£¬È·ÈÏÁ¬½Ó¡£

B¡¢·þÎñÆ÷¶ËÏò¿Í»§¶Ë»ØËÍÒ»¸öÏìÓ¦£¬Í¨Öª¿Í»§¶ËÊÕµ½ÁËÁ¬½ÓÇëÇó¡£ C¡¢¿Í»§¶ËÏò·þÎñÆ÷¶Ë·¢³öÁ¬½ÓÇëÇ󣬵ȴý·þÎñÆ÷È·ÈÏ¡£ D¡¢ÒÔÉÏ´ð°¸È«²¿´íÎó

ËÄ¡¢¼ò´ðÌâ

1¡¢ÍøÂçͨÐÅЭÒéÊÇʲô£¿

2¡¢TCPЭÒéºÍUDPЭÒéÓÐÊ²Ã´Çø±ð£¿

3¡¢SocketÀàºÍServerSocketÀà¸÷ÓÐʲô×÷Óã¿ Îå¡¢±à³ÌÌâ

Çë°´ÕÕÌâÄ¿µÄÒªÇó±àд³ÌÐò²¢¸ø³öÔËÐнá¹û¡£

1¡¢ ʹÓÃInetAddressÀà»ñÈ¡±¾µØ¼ÆËã»úµÄIPµØÖ·ºÍÖ÷»úÃû£¬¼×¹ÇÎĹ«Ë¾(www.oracle.com)Ö÷»úµÄIPµØ

Ö·¡£ Ìáʾ£º

1£©Í¨¹ýInetAddress.getLocalHost();»ñÈ¡±¾µØ¼ÆËã»úµÄInetAddress¶ÔÏó

2£©Í¨¹ýInetAddress.getByName(\»ñÈ¡Oracle¹«Ë¾µÄInetAddress¶ÔÏó

2¡¢ ʹÓÃUDPЭÒé±àдһ¸öÍøÂç³ÌÐò£¬ÉèÖýÓÊն˳ÌÐò¼àÌý¶Ë¿ÚΪ8001£¬·¢ËͶ˷¢Ë͵ÄÊý¾ÝÊÇ¡°hello

world¡±¡£ Ìáʾ£º

1£©Ê¹ÓÃnew DatagramSocket(8001)¹¹Ôì·½·¨´´½¨½ÓÊն˵ÄDatagramSocket¶ÔÏ󣬵÷ÓÃreceive()·½

·¨½ÓÊÕÊý¾Ý¡£

2£©·¢ËͶ˺ͽÓÊÕ¶ËʹÓÃDatagramPacket·â×°Êý¾Ý£¬ÔÚ´´½¨·¢ËͶ˵ÄDatagramPacket¶ÔÏóʱÐèÒª

Ö¸¶¨Ä¿±êIPµØÖ·ºÍ¶Ë¿ÚºÅ£¬¶Ë¿ÚºÅÒªºÍ½ÓÊն˼àÌýµÄ¶Ë¿ÚºÅÒ»Ö¡£ 3£©·¢ËͶËʹÓÃsend()·½·¨·¢ËÍÊý¾Ý¡£ 4£©Ê¹ÓÃclose()·½·¨ÊÍ·ÅSocket×ÊÔ´¡£

3¡¢ ʹÓÃTCPЭÒé±àдһ¸öÍøÂç³ÌÐò£¬ÉèÖ÷þÎñÆ÷³ÌÐò¼àÌý¶Ë¿ÚΪ8002£¬µ±Óë¿Í»§¶Ë½¨Á¢Á¬½Óºó£¬Ïò

²©Ñ§¹È¡ª¡ªÈÃIT½Ìѧ¸ü¼òµ¥£¬ÈÃITѧϰ¸üÓÐЧ

¿Í»§¶Ë·¢ËÍ¡°hello world¡±£¬¿Í»§¶Ë½Ó¸ºÔð½«ÐÅÏ¢Êä³ö¡£ Ìáʾ£º

1£©Ê¹ÓÃServerSocket´´½¨·þÎñÆ÷¶Ë¶ÔÏ󣬼àÌý8002¶Ë¿Ú£¬µ÷ÓÃaccept()·½·¨µÈ´ý¿Í»§¶ËÁ¬½Ó£¬µ±Óë¿Í»§¶ËÁ¬½Óºó£¬µ÷ÓÃSocketµÄgetOutputStream()·½·¨»ñµÃÊä³öÁ÷¶ÔÏó£¬Êä³ö¡°hello world¡£ 2£©Ê¹ÓÃSocket´´½¨¿Í»§¶Ë¶ÔÏó£¬Ö¸¶¨·þÎñÆ÷µÄIPµØÖ·ºÍ¼àÌý¶Ë¿ÚºÅ£¬Óë·þÎñÆ÷¶Ë½¨Á¢Á¬½Óºó£¬

µ÷ÓÃSocketµÄgetInputStream()·½·¨»ñµÃÊäÈëÁ÷¶ÔÏ󣬶ÁÈ¡Êý¾Ý£¬²¢´òÓ¡³öÀ´ 3£©ÔÚ·þÎñÆ÷¶ËºÍ¿Í»§¶Ë¶¼µ÷ÓÃclose()·½·¨ÊÍ·Åsocket×ÊÔ´¡£