°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
15¡£8¡¡Ô¶³Ì·½·¨¡¡¡¡
Ϊͨ¹ýÍøÂçÖ´ÐÐÆäËû»úÆ÷ÉϵĴúÂ룬´«Í³µÄ·½·¨²»½öÄÑÒÔѧϰºÍÕÆÎÕ£¬Ò²¼«Ò׳ö´í¡£Ë¼¿¼Õâ¸öÎÊÌâ×î¼ÑµÄ·½¡¡
ʽÊÇ£ºÄ³Ð©¶ÔÏóÕýºÃλÓÚÁíһ̨»úÆ÷£¬ÎÒÃÇ¿ÉÏòËüÃÇ·¢ËÍÒ»ÌõÏûÏ¢£¬²¢»ñµÃ·µ»Ø½á¹û£¬¾ÍÏóÄÇЩ¶ÔÏóλÓÚ×Ô¡¡
¼ºµÄ±¾µØ»úÆ÷Ò»Ñù¡£Java¡¡1¡£1¡¡µÄ¡°Ô¶³Ì·½·¨µ÷Óá±£¨RMI£©²ÉÓõÄÕýÊÇÕâÖÖ³éÏó¡£±¾½Ú½«Òýµ¼´ó¼Ò¾ÀúһЩ¡¡
±ØÒªµÄ²½Ö裬´´½¨×Ô¼ºµÄRMI¡¡¶ÔÏ󡣡¡¡¡
15¡£8¡£1¡¡Ô¶³Ì½Ó¿Ú¸ÅÄî¡¡¡¡
RMI¡¡¶Ô½Ó¿ÚÓÐ×ÅÇ¿ÁÒµÄÒÀÀµ¡£ÔÚÐèÒª´´½¨Ò»¸öÔ¶³Ì¶ÔÏóµÄʱºò£¬ÎÒÃÇͨ¹ý´«µÝÒ»¸ö½Ó¿ÚÀ´Òþ²Ø»ù²ãµÄʵʩϸ¡¡
½Ú¡£ËùÒÔ¿Í»§µÃµ½Ô¶³Ì¶ÔÏóµÄÒ»¸ö¾ä±úʱ£¬ËüÃÇÕæÕýµÃµ½µÄÊǽӿھä±ú¡£Õâ¸ö¾ä±úÕýºÃͬһЩ±¾µØµÄ¸ù´úÂë¡¡
Á¬½Ó£¬ÓɺóÕ߸ºÔðͨ¹ýÍøÂçͨÐÅ¡£µ«ÎÒÃDz¢²»¹ØÐÄÕâЩÊÂÇ飬ֻÐèͨ¹ý×Ô¼ºµÄ½Ó¿Ú¾ä±ú·¢ËÍÏûÏ¢¼´¿É¡£¡¡¡¡
´´½¨Ò»¸öÔ¶³Ì½Ó¿Úʱ£¬±ØÐë×ñÊØÏÂÁйæÔò£º¡¡¡¡
£¨1£©¡¡Ô¶³Ì½Ó¿Ú±ØÐëΪpublic¡¡ÊôÐÔ£¨²»ÄÜÓС°°ü·ÃÎÊ¡±£»Ò²¾ÍÊÇ˵£¬Ëü²»ÄÜÊÇ¡°ÓѺõġ±£©¡£·ñÔò£¬Ò»µ©¿Í»§¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡582¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡584¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
ÊÔͼװÔØÒ»¸öʵÏÖÁËÔ¶³Ì½Ó¿ÚµÄÔ¶³Ì¶ÔÏ󣬾ͻáµÃµ½Ò»¸ö´íÎ󡣡¡¡¡
£¨2£©¡¡Ô¶³Ì½Ó¿Ú±ØÐëÀ©Õ¹½Ó¿Ú¡¡java¡£rmi¡£Remote¡£¡¡¡¡
£¨3£©¡¡³ýÓëÓ¦ÓóÌÐò±¾ÉíÓйصÄÎ¥ÀýÖ®Í⣬Զ³Ì½Ó¿ÚÖеÄÿ¸ö·½·¨¶¼±ØÐëÔÚ×Ô¼ºµÄthrows¡¡´Ó¾äÖÐÉùÃ÷¡¡
java¡£rmi¡£RemoteException¡£¡¡¡¡
£¨4£©¡¡×÷Ϊ²ÎÊý»ò·µ»ØÖµ´«µÝµÄÒ»¸öÔ¶³Ì¶ÔÏ󣨲»¹ÜÊÇÖ±½ÓµÄ£¬»¹ÊÇÔÚ±¾µØ¶ÔÏóÖÐǶÈ룩±ØÐëÉùÃ÷ΪԶ³Ì½Ó¡¡
¿Ú£¬²»¿ÉÉùÃ÷ΪʵʩÀà¡£¡¡¡¡
¡¡¡¡
ÏÂÃæÊÇÒ»¸ö¼òµ¥µÄÔ¶³Ì½Ó¿ÚʾÀý£¬Ëü´ú±íµÄÊÇÒ»¸ö¾«È·¼Æʱ·þÎñ£º¡¡¡¡
¡¡¡¡
//£º¡¡PerfectTimeI¡£java¡¡¡¡
//¡¡The¡¡PerfectTime¡¡remote¡¡interface¡¡¡¡
package¡¡c15¡£ptime£»¡¡¡¡
import¡¡java¡£rmi¡£*£»¡¡¡¡
¡¡¡¡
interface¡¡PerfectTimeI¡¡extends¡¡Remote¡¡£û¡¡¡¡
¡¡¡¡long¡¡getPerfectTime£¨£©¡¡throws¡¡RemoteException£»¡¡¡¡
£ý¡¡///£º~¡¡¡¡
¡¡¡¡
Ëü±íÃæÉÏÓëÆäËû½Ó¿ÚÊÇÀàËƵģ¬Ö»ÊǶÔRemote¡¡½øÐÐÁËÀ©Õ¹£¬¶øÇÒËüµÄËùÓз½·¨¶¼»á¡°ÖÀ¡±³ö¡¡
RemoteException¡¡£¨Ô¶³ÌÎ¥Àý£©¡£¼Çס½Ó¿ÚºÍËüËùÓеķ½·¨¶¼ÊÇpublic¡¡µÄ¡£¡¡¡¡
15¡£8¡£2¡¡Ô¶³Ì½Ó¿ÚµÄʵʩ¡¡¡¡
·þÎñÆ÷±ØÐë°üº¬Ò»¸öÀ©Õ¹ÁËUnicastRemoteObject¡¡µÄÀ࣬²¢ÊµÏÖÔ¶³Ì½Ó¿Ú¡£Õâ¸öÀàÒ²¿ÉÒÔº¬Óи½¼ÓµÄ·½·¨£¬¡¡
µ«¿Í»§Ö»ÄÜʹÓÃÔ¶³Ì½Ó¿ÚÖеķ½·¨¡£ÕâÊÇÏÔÈ»µÄ£¬ÒòΪ¿Í»§µÃµ½µÄÖ»ÊÇÖ¸Ïò½Ó¿ÚµÄÒ»¸ö¾ä±ú£¬¶ø·ÇʵÏÖËüµÄ¡¡
ÄǸöÀà¡£¡¡¡¡
±ØÐëΪԶ³Ì¶ÔÏóÃ÷È·¶¨Òå¹¹½¨Æ÷£¬¼´Ê¹Ö»×¼±¸¶¨ÒåÒ»¸öĬÈϹ¹½¨Æ÷£¬ÓÃËüµ÷Óûù´¡À๹½¨Æ÷¡£±ØÐë°ÑËüÃ÷È·¡¡
µØ±àд³öÀ´£¬ÒòΪËü±ØÐë¡°ÖÀ¡±³ö¡¡RemoteException¡¡Î¥Àý¡£¡¡¡¡
ÏÂÃæÁгöÔ¶³Ì½Ó¿ÚPerfectTime¡¡µÄʵʩ¹ý³Ì£º¡¡¡¡
¡¡¡¡
//£º¡¡PerfectTime¡£java¡¡¡¡
//¡¡The¡¡implementation¡¡of¡¡the¡¡PerfectTime¡¡¡¡¡¡
//¡¡remote¡¡object¡¡¡¡
package¡¡c15¡£ptime£»¡¡¡¡
import¡¡java¡£rmi¡£*£»¡¡¡¡
import¡¡java¡£rmi¡£server¡£*£»¡¡¡¡
import¡¡java¡£rmi¡£registry¡£*£»¡¡¡¡
import¡¡java¡£*£»¡¡¡¡
¡¡¡¡
public¡¡class¡¡PerfectTime¡¡¡¡¡¡
¡¡¡¡¡¡¡¡extends¡¡UnicastRemoteObject¡¡¡¡
¡¡¡¡¡¡¡¡implements¡¡PerfectTimeI¡¡£û¡¡¡¡
¡¡¡¡//¡¡Implementation¡¡of¡¡the¡¡interface£º¡¡¡¡
¡¡¡¡public¡¡long¡¡getPerfectTime£¨£©¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡throws¡¡RemoteException¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡return¡¡System¡£currentTimeMillis£¨£©£»¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡//¡¡Must¡¡implement¡¡constructor¡¡to¡¡throw¡¡¡¡
¡¡¡¡//¡¡RemoteException£º¡¡¡¡
¡¡¡¡public¡¡PerfectTime£¨£©¡¡throws¡¡RemoteException¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡//¡¡super£¨£©£»¡¡//¡¡Called¡¡automatically¡¡¡¡
¡¡¡¡£ý¡¡¡¡
¡¡¡¡//¡¡Registration¡¡for¡¡RMI¡¡serving£º¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡583¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡585¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡public¡¡static¡¡void¡¡main£¨String£§£§¡¡args£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡System¡£setSecurityManager£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡new¡¡RMISecurityManager£¨£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡try¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡PerfectTime¡¡pt¡¡=¡¡new¡¡PerfectTime£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡Naming¡£bind£¨¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨//colossus£º2005/PerfectTime¡¨£»¡¡pt£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡System¡£out¡£println£¨¡¨Ready¡¡to¡¡do¡¡time¡¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡£ý¡¡catch£¨Exception¡¡e£©¡¡£û¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡e¡£printStackTrace£¨£©£»¡¡¡¡
¡¡¡¡¡¡¡¡£ý¡¡¡¡
¡¡¡¡£ý¡¡¡¡
£ý¡¡///£º~¡¡¡¡
¡¡¡¡
ÔÚÕâÀmain£¨£©¿ØÖÆ×ÅÉèÖ÷þÎñÆ÷µÄÈ«²¿Ï¸½Ú¡£±£´æRMI¡¡¶ÔÏóʱ£¬±ØÐëÔÚ³ÌÐòµÄij¸öµØ·½²ÉÈ¡ÏÂÊö²Ù×÷£º¡¡¡¡
£¨1£©¡¡´´½¨ºÍ°²×°Ò»¸ö°²È«¹ÜÀíÆ÷£¬ÁîÆäÖ§³ÖRMI¡£×÷ΪJava¡¡·¢ÐаüµÄÒ»²¿·Ö£¬ÊÊÓÃÓÚRMI¡¡Î¨Ò»Ò»¸öÊÇ¡¡
RMISecurityManager¡¡¡£¡¡¡¡
£¨2£©¡¡´´½¨Ô¶³Ì¶ÔÏóµÄÒ»¸ö»ò¶à¸öʵÀý¡£ÔÚÕâÀ´ó¼Ò¿É¿´µ½´´½¨µÄÊÇPerfectTime¡¡¶ÔÏ󡣡¡¡¡
£¨3£©¡¡ÏòRMI¡¡Ô¶³Ì¶ÔÏó×¢²á±í×¢²áÖÁÉÙÒ»¸öÔ¶³Ì¶ÔÏó¡£Ò»¸öÔ¶³Ì¶ÔÏóÓµÓеķ½·¨¿ÉÉú³ÉÖ¸ÏòÆäËûÔ¶³Ì¶ÔÏóµÄ¾ä¡¡
±ú¡£ÕâÑùÒ»À´£¬¿Í»§Ö»Ðèµ½×¢²á±íÀï·ÃÎÊÒ»´Î£¬µÃµ½µÚÒ»¸öÔ¶³Ì¶ÔÏó¼´¿É¡£¡¡¡¡
¡¡¡¡
1¡£¡¡ÉèÖÃ×¢²á±í¡¡¡¡
ÔÚÕâ¶ù£¬´ó¼Ò¿É¿´µ½¶Ô¾²Ì¬·½·¨Naming¡£bind£¨£©¡¡µÄÒ»¸öµ÷Óá£È»¶ø£¬Õâ¸öµ÷ÓÃÒªÇó×¢²á±í×÷Ϊ¼ÆËã»úÉϵÄÒ»¡¡
¸ö¶ÀÁ¢½ø³ÌÔËÐС£×¢²á±í·þÎñÆ÷µÄÃû×ÖÊÇ¡¡rmiregistry¡£ÔÚ32¡¡Î»Windows¡¡»·¾³ÖУ¬¿ÉʹÓ㺡¡¡¡
start¡¡rmiregistry¡¡¡¡
ÁîÆäÔÚºǫ́ÔËÐС£ÔÚUnix¡¡ÖУ¬Ê¹Ó㺡¡¡¡
rmiregistry¡¡&¡¡¡¡
ºÍÐí¶àÍøÂç³ÌÐòÒ»Ñù£¬rmiregistry¡¡Î»ÓÚ»úÆ÷Æô¶¯ËüËùÔÚµÄij¸ö¡¡IP¡¡µØÖ·´¦£¬µ«ËüÒ²±ØÐë¼àÊÓÒ»¸ö¶Ë¿Ú¡£Èç¹û¡¡
ÏóÉÏÃæÄÇÑùµ÷ÓÃrmiregistry£¬²»Ê¹ÓòÎÊý£¬×¢²á±íµÄ¶Ë¿Ú¾Í»áĬÈÏΪ¡¡1099¡£ÈôÏ£ÍûËüλÓÚÆäËûij¸ö¶Ë¿Ú£¬¡¡
Ö»ÐèÔÚÃüÁîÐÐÌí¼ÓÒ»¸ö²ÎÊý£¬Ö¸¶¨ÄǸö¶Ë¿Ú±àºÅ¼´¿É¡£¶ÔÕâ¸öÀý×ÓÀ´Ëµ£¬¶Ë¿Ú½«Î»ÓÚ¡¡2005£¬ËùÒÔ¡¡
rmiregistry¡¡Ó¦¸ÃÏóÏÂÃæÕâÑùÆô¶¯£¨¶ÔÓÚ32¡¡Î»Windows£©£º¡¡¡¡
start¡¡rmiregistry¡¡2005¡¡¡¡
¶ÔÓÚUnix¡¡£¬ÔòʹÓÃÏÂÊöÃüÁ¡¡¡¡
rmiregistry¡¡2005¡¡&¡¡¡¡
Óë¶Ë¿ÚÓйصÄÐÅÏ¢±ØÐë´«Ë͸øbind£¨£©ÃüÁͬʱ´«Ë͵Ļ¹ÓÐ×¢²á±íËùÔÚµÄÄÇ̨»úÆ÷µÄ¡¡IP¡¡µØÖ·¡£µ«¼ÙÈôÎÒÃÇ¡¡
ÏëÔÚ±¾µØ²âÊÔRMI¡¡³ÌÐò£¬¾ÍÏó±¾ÕµÄÍøÂç³ÌÐòÒ»Ö±²âÊÔµÄÄÇÑù£¬ÕâÑù×ö¾Í»á´øÀ´ÎÊÌâ¡£ÔÚ¡¡JDK¡¡1¡£1¡£1¡¡°æ±¾¡¡
ÖУ¬´æÔÚ×ÅÏÂÊöÁ½·½ÃæµÄÎÊÌ⣨עÊ͢ߣ©£º¡¡¡¡
£¨1£©¡¡localhost²»ÄÜËæ¡¡RMI¡¡¹¤×÷¡£ËùÒÔΪÁËÔÚµ¥¶Àһ̨»úÆ÷ÉÏÍê³É¶Ô¡¡RMI¡¡µÄ²âÊÔ£¬±ØÐëÌṩ»úÆ÷µÄÃû×Ö¡£Îª¡¡
ÁËÔÚ32¡¡Î»¡¡Windows¡¡»·¾³Öе÷²é×Ô¼º»úÆ÷µÄÃû×Ö£¬¿É½øÈë¿ØÖÆÃæ°å£¬Ñ¡Ôñ¡°ÍøÂ硱£¬Ñ¡Ôñ¡°±êʶ¡±¿¨Æ¬£¬ÆäÖС¡
ÁгöÁ˼ÆËã»úµÄÃû×Ö¡£¾ÍÎÒ×Ô¼ºµÄÇé¿öÀ´Ëµ£¬ÎҵĻúÆ÷½Ð×÷¡°Colossus¡¡¡±£¨ÒòΪÎÒÓü¸¸ö´óÈÝÁ¿µÄÓ²Å̱£´æ¡¡
¸÷ÖÖ²»Í¬µÄ¿ª·¢ÏµÍ³¡ª¡ªClossus¡¡ÊÇ¡°¾ÞÈË¡±µÄÒâ˼£©¡£Ëƺõ´óдÐÎʽ»á±»ºöÂÔ¡£¡¡¡¡
£¨2£©¡¡³ý·Ç¼ÆËã»úÓÐÒ»¸ö»î¶¯µÄTCP/IP¡¡Á¬½Ó£¬·ñÔò¡¡RMI¡¡²»Äܹ¤×÷£¬¼´Ê¹ËùÓÐ×é¼þ¶¼Ö»ÐèÒªÔÚ±¾µØ»úÆ÷ÀﻥÏàͨ¡¡
ÐÅ¡£ÕâÒâζ×ÅÔÚÊÔͼÔËÐгÌÐò֮ǰ£¬±ØÐëÁ¬½Óµ½×Ô¼ºµÄ¡¡ISP¡¡£¨ÒòÌØÍø·þÎñÌṩÕߣ©£¬·ñÔò»áµÃµ½Ò»Ð©º¬ÒåÄ£¡¡
ºýµÄÎ¥ÀýÏûÏ¢¡£¡¡¡¡
¡¡¡¡
¢ß£ºÎªÕÒ³öÕâЩÐÅÏ¢£¬ÎÒ²»ÖªËðÉËÁ˶àÉÙ¸öÄÔϸ°û¡£¡¡¡¡
¡¡¡¡
¿¼Âǵ½ÕâЩÒòËØ£¬bind£¨£©ÃüÁî±ä³ÉÁËÏÂÃæÕâ¸öÑù×Ó£º¡¡¡¡
Naming¡£bind£¨¡¨//colossus£º2005/PerfectTime¡¨£»¡¡pt£©£»¡¡¡¡
ÈôʹÓÃĬÈ϶˿ڡ¡1099£¬¾ÍûÓбØÒªÖ¸¶¨Ò»¸ö¶Ë¿Ú£¬ËùÒÔ¿ÉÒÔʹÓ㺡¡¡¡
Naming¡£bind£¨¡¨//colossus/PerfectTime¡¨£»¡¡pt£©£»¡¡¡¡
ÔÚJDK¡¡Î´À´µÄ°æ±¾ÖУ¨1¡£1Ö®ºó£©£¬Ò»µ©¸ÄÕýÁË¡¡localhost¡¡µÄÎÊÌ⣬¾ÍÄÜÕý³£µØ½øÐб¾µØ²âÊÔ£¬È¥µô¡¡IPµØ¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡584¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡586¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
Ö·£¬Ö»Ê¹Óñêʶ·û£º¡¡¡¡
Naming¡£bind£¨¡¨PerfectTime¡¨£»¡¡pt£©£»¡¡¡¡
·þÎñÃûÊÇÈÎÒâµÄ£»ËüÔÚÕâÀïÕýºÃΪ¡¡PerfectTime£¬ºÍÀàÃûÒ»Ñù£¬µ«Äã¿ÉÒÔ¸ù¾ÝÇé¿öÈÎÒâÐ޸ġ£×îÖØÒªµÄÊÇÈ·¡¡
±£ËüÔÚ×¢²á±íÀïÊǸö¶ÀÒ»ÎÞ¶þµÄÃû×Ö£¬ÒÔ±ã¿Í»§Õý³£µØ»ñÈ¡Ô¶³Ì¶ÔÏó¡£ÈôÕâ¸öÃû×ÖÒÑÔÚ×¢²á±íÀïÁË£¬¾Í»áµÃ¡¡
µ½Ò»¸öAlreadyBoundException¡¡Î¥Àý¡£Îª·ÀÖ¹Õâ¸öÎÊÌ⣬¿É¿¼ÂǼá³ÖʹÓá¡rebind£¨£©¡¡£¬·ÅÆúbind£¨£©¡£ÕâÊÇÓÉÓÚ¡¡
rebind£¨£©ÒªÃ´»áÌí¼ÓÒ»¸öÐÂÌõÄ¿£¬ÒªÃ´½«Í¬ÃûµÄÌõÄ¿Ìæ»»µô¡£¡¡¡¡
¾¡¹Ümain£¨£©Í˳ö£¬ÎÒÃǵĶÔÏóÒѾ´´½¨²¢×¢²á£¬ËùÒÔ»áÓÉ×¢²á±íÒ»Ö±±£³Ö»î¶¯×´Ì¬£¬µÈºò¿Í»§µ½´ï²¢·¢³ö¶Ô¡¡
ËüµÄÇëÇó¡£Ö»Òªrmiregistry¡¡´¦ÓÚÔËÐÐ״̬£¬¶øÇÒÎÒÃÇûÓÐΪÃû×Öµ÷Óá¡Naming¡£unbind£¨£©·½·¨£¬¶ÔÏó¾Í¿Ï¶¨¡¡
λÓÚÄǸöµØ·½¡£¿¼Âǵ½Õâ¸öÔÒò£¬ÔÚÎÒÃÇÉè¼Æ×Ô¼ºµÄ´úÂëʱ£¬ÐèÒªÏȹرա¡rmiregistry£¬²¢ÔÚ±àÒëÔ¶³Ì¶ÔÏó¡¡
µÄÒ»¸öа汾ʱÖØÐÂÆô¶¯Ëü¡£¡¡¡¡
²¢²»Ò»¶¨Òª½«rmiregistry¡¡×÷Ϊһ¸öÍⲿ½ø³ÌÆô¶¯¡£ÈôÊÂÇ°ÖªµÀ×Ô¼ºµÄÊÇÒªÇóÓÃÒÔ×¢²á±íµÄΨһһ¸öÓ¦Ó㬡¡
¾Í¿ÉÔÚ³ÌÐòÄÚ²¿Æô¶¯Ëü£¬Ê¹ÓÃÏÂÊö´úÂ룺¡¡¡¡
LocateRegistry¡£createRegistry£¨2005£©£»¡¡¡¡
ºÍÇ°ÃæÒ»Ñù£¬2005¡¡´ú±íÎÒÃÇÔÚÕâ¸öÀý×ÓÀïÑ¡ÓõĶ˿ںš£ÕâµÈ¼ÛÓÚÔÚÃüÁîÐÐÖ´ÐС¡rmiregistry¡¡2005¡£µ«ÔÚÉè¡¡
¼ÆRMI¡¡´úÂëʱ£¬ÕâÖÖ×ö·¨ÍùÍùÏԵøü¼Ó·½±ã£¬ÒòΪËüÈ¡ÏûÁËÆô¶¯ºÍÖÐÖ¹×¢²á±íËùÐèµÄ¶îÍâ²½Öè¡£Ò»µ©Ö´ÐÐÍê¡¡
Õâ¸ö´úÂ룬¾Í¿ÉÏóÒÔÇ°Ò»ÑùʹÓÃNaming¡¡½øÐС°°ó¶¨¡±¡ª¡ªbind£¨£©¡£¡¡¡¡
15¡£8¡£3¡¡´´½¨¸ùÓë¸É¡¡¡¡
Èô±àÒëºÍÔËÐÐPerfectTime¡£java£¬¼´Ê¹rmiregistry¡¡ÕýÈ·ÔËÐУ¬ËüÒ²ÎÞ·¨¹¤×÷¡£ÕâÊÇÓÉÓÚRMI¡¡µÄ¿ò¼ÜÉÐδ¾Í¡¡
λ¡£Ê×ÏȱØÐë´´½¨¸ùºÍ¸É£¬ÒÔ±ãÌṩÍøÂçÁ¬½Ó²Ù×÷£¬²¢Ê¹ÎÒÃǽ«Ô¶³Ì¶ÔÏóαװ³É×Ô¼º»úÆ÷ÄÚµÄij¸ö±¾µØ¶Ô¡¡
Ï󡣡¡¡¡
ËùÓÐÕâЩĻºóµÄ¹¤×÷¶¼ÊÇÏ൱¸´Ôӵġ£ÎÒÃÇ´ÓÔ¶³Ì¶ÔÏó´«Èë¡¢´«³öµÄÈκζÔÏ󶼱ØÐë¡°implement¡¡¡¡
Serializable¡±£¨Èç¹ûÏë´«µÝÔ¶³ÌÒýÓ㬶ø·ÇÕû¸ö¶ÔÏ󣬶ÔÏóµÄ²ÎÊý¾Í¿ÉÒÔ¡°implement¡¡Remote¡±£©¡£Òò´Ë¡¡
¿ÉÒÔÏëÏ󣬵±¸ùºÍ¸Éͨ¹ýÍøÂç¡°»ã¼¯¡±ËùÓвÎÊý²¢·µ»Ø½á¹ûµÄʱºò£¬»á×Ô¶¯½øÐÐÐòÁл¯ÒÔ¼°Êý¾ÝµÄÖØÐÂ×°¡¡
Åä¡£ÐÒÔ˵ÄÊÇ£¬ÎÒÃǸù±¾Ã»±ØÒªÁ˽âÕâЩ·½ÃæµÄÈκÎϸ½Ú£¬µ«¸ùºÍ¸ÉÈ´ÊDZØÐë´´½¨µÄ¡£Ò»¸ö¼òµ¥µÄ¹ý³ÌÈç¡¡
Ï£ºÔÚ±àÒëºÃµÄ´úÂëÖе÷ÓÃrmic£¬Ëü»á´´½¨±ØÐèµÄһЩÎļþ¡£ËùÒÔΨһҪ×öµÄÊÂÇé¾ÍÊÇΪ±àÒë¹ý³ÌÐÂÌíÒ»¸ö¡¡
²½Öè¡£¡¡¡¡
È»¶ø£¬rmic¡¡¹¤¾ßÓëÌض¨µÄ°üºÍÀà·¾¶ÓкܴóµÄ¹ØÁª¡£PerfectTime¡£java¡¡Î»ÓÚ°ü¡¡c15¡£Ptime¡¡ÖУ¬¼´Ê¹ÎÒÃǵ÷Óá¡
ÓëPerfectTime¡£class¡¡Í¬Ò»Ä¿Â¼ÄÚµÄrmic£¬rmic¡¡¶¼ÎÞ·¨ÕÒµ½Îļþ¡£ÕâÊÇÓÉÓÚËüËÑË÷µÄÊÇÀà·¾¶¡£Òò´Ë£¬ÎÒÃÇ¡¡
±ØÐëͬʱָ¶¨Àà·¾¶£