¼Ò¼³°°Àº ÀÚ¹Ù 4ºÎ  Á¦18Àå R M I  18.3.4 ¿ø°Ý °´Ã¼¸¦ »ç¿ëÇÒ Å¬¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥ ÀÛ¼º  

 

    18.3.4 ¿ø°Ý °´Ã¼¸¦ »ç¿ëÇÒ Å¬¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥ ÀÛ¼º

 

4´Ü°è´Â ¿ø°Ý °´Ã¼¸¦ »ç¿ëÇÒ Å¬¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥ ÀÛ¼ºÀÔ´Ï´Ù. ¼­ºñ½º¸¦ Á¦°øÇØ ÁÖ´Â ¿ø°Ý °´Ã¼¸¦ ¸¸µé¾úÀ¸´Ï ÀÌÁ¦´Â, ¿ø°Ý °´Ã¼¸¦ »ç¿ëÇÒ Å¬¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥À» ¸¸µé Â÷·ÊÀÔ´Ï´Ù. Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥Àº ±âº»ÀûÀ¸·Î ´ÙÀ½°ú °°Àº µÎ °¡ÁöÀÇ ÀÏÀ» ÇÕ´Ï´Ù.

 

n        ¼­¹öÀÇ RMI Registry¿¡¼­ºÎÅÍ ¿ø°Ý ÂüÁ¶ÀÚ¸¦ ¾ò¾î¿À±â

n        ¿ø°Ý ÂüÁ¶ÀÚ¸¦ ÅëÇØ ¿øÇÏ´Â ¸Þ¼­µå È£ÃâÇϱâ

 

´ÙÀ½Àº ¼­¹ö¿¡°Ô ¼­ºñ½º¸¦ ¿äûÇϴ Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥À» ÀÛ¼ºÇÑ °ÍÀÔ´Ï´Ù.

 

BankClient.java (RMI¿¡¼­ÀÇ Å¬¶óÀÌ¾ðÆ® Å¬·¡½º ¿¹Á¦)

import java.rmi.*;

public class BankClient {

   public static void main(String[] args) throws Exception {

       int balance = 0;

       Bank bank = (Bank)Naming.lookup("//localhost/BankIp");

       System.out.println("Bank was given from Server");    

       balance = bank.getBalance();

       System.out.println("current balance : " + balance);    

       balance = bank.deposit(1000);

       System.out.println("deposit 1000");

       System.out.println("current balance : " + balance);    

       balance = bank.withdraw(5000);

       System.out.println("withdraw 5000");

       System.out.println("current balance : " + balance);

   }

}

C:\JavaExample\18>javac BankClient.java

 

¿ø°Ý °´Ã¼ÀÇ ¸Þ¼­µå¸¦ È£ÃâÇϱâ À§Çؼ­´Â, ¼­¹öÀÇ RMI Registry·ÎºÎÅÍ ¿ø°Ý ÂüÁ¶ÀÚ¸¦ ¹Ýȯ ¹Þ¾Æ¾ß ÇÕ´Ï´Ù. ¼­¹ö ÇÁ·Î±×·¥ÀÌ ¿ø°Ý ÂüÁ¶ÀÚ¸¦ µî·ÏÇÒ ¶§¿Í ¸¶Âù°¡Áö·Î, Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥ ¿ª½Ã java.rmi.Naming Ŭ·¡½ºÀÇ ¸Þ¼­µå¸¦ »ç¿ëÇØ¼­ RMI Registry¿¡°Ô ¿ø°Ý ÂüÁ¶ÀÚ¸¦ °Ë»öÇØ Áֱ⸦ ¿äûÇÕ´Ï´Ù.

 

n        Bank bank = (Bank)Naming.lookup(¡°// localhost/BankIp¡±);

 

Naming.lookup()¸Þ¼­µå´Â ÁÖ¾îÁø À̸§À» °¡Áö°í ¿ø°ÝÁöÀÇ RMI Registry·ÎºÎÅÍ ¿ø°Ý ÂüÁ¶ÀÚ¸¦ ¾ò¾î¿É´Ï´Ù. ÀÌ ¶§ ÇѰ¡Áö ÁÖÀÇÇÒ °ÍÀº, Naming.lookup()¸Þ¼­µå°¡ ¹ÝȯÇÏ´Â ¿ø°Ý ÂüÁ¶ÀÚÀÇ Å¸ÀÔÀÌ Remote ÀÎÅÍÆäÀ̽º ŸÀÔÀ̱⠶§¹®¿¡, ÀûÀýÇÏ°Ô Çü º¯È¯À» ÇØÁà¾ß ÇÑ´Ù´Â °Í°ú ¿ø°Ý°´Ã¼ ½Äº°ÀÚ°¡ ¼­¹öÃø¿¡¼­ RMI Registry¿¡ µî·ÏÇÑ name°ú µ¿ÀÏÇØ¾ß ÇÑ´Ù´Â °ÍÀÔ´Ï´Ù. ¼­¹ö¿¡ µî·ÏÇÑ °´Ã¼ÀÇ nameÀÌ BankIpÀ̱⠶§¹®¿¡ Ŭ¶óÀÌ¾ðÆ®¿¡¼­µµ BankIp¸¦ ¼­¹ö¿¡¼­ ã°í ÀÖ½À´Ï´Ù.

 

ÀÏ´Ü ¿ø°Ý ÂüÁ¶ÀÚ¸¦ ¾ò¾úÀ¸¸é, ¸¶Ä¡ °´Ã¼°¡ ·ÎÄÿ¡ ÀÖ´Â °Íó·³ ¸Þ¼­µå¸¦ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù. À§ ¿¹Á¦ ¾îµð¿¡¼­µµ ¼ÒÄÏ Åë½Å¿¡¼­¿Í °°ÀÌ ³×Æ®¿öÅ© ½ºÆ®¸²À» ¿­°í ¸Þ½ÃÁö¸¦ Àü¼ÛÇÏ°í ´Ù½Ã ½ºÆ®¸²À» ´Ý´Â µîÀÇ ¹ø°Å·Î¿î ÀÛ¾÷À» Çϰí ÀÖÁö ¾Ê½À´Ï´Ù. ÀÌ·¯ÇÑ ´Ü¼ø ¸í·áÇÑ ±¸Á¶°¡ RMI°¡ Á¦°øÇØ ÁÖ´Â Ãß»óÈ­µÈ ÀÎÅÍÆäÀ̽ºÀÇ ÃÖ´ëÀÇ ÀåÁ¡ÀÔ´Ï´Ù.

 

¢Ñ  4 ´Ü°è

¿ø°Ý °´Ã¼ÀÇ ¸Þ¼­µå¸¦ È£ÃâÇϴ Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥ ¸¸µé±â.

1. ¼­¹öÀÇ RMI Registry·ÎºÎÅÍ ¿ø°Ý ÂüÁ¶ÀÚ ¾ò¾î¿À±â.

2. ¿ø°Ý ÂüÁ¶ÀÚ¸¦ ÅëÇØ ¸Þ¼­µå È£ÃâÇϱâ.



jabookÀúÀÚ¸íÇÔ
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù4ºÎ
ÀúÀÚ:ÃÖ¿µ°ü