rmic DBServer


[ ´ÙÀ½ ±Ûµé ] [ À̾ ±Û¿Ã¸®±â(´äÇϱâ) ] [ ÀÚ¹Ù ¹¯°í ´äÇϱâ ]

±Û¾´ÀÌ :ÀÌ¿ø¿µ 1998³â 10¿ù 22ÀÏ 15:21:49

In Reply to: ¹«½¼ ¿¡·±Áö ºÁÁÖ¼¼¿ä!! posted by ±èÁ¤Çý on 1998³â 10¿ù 21ÀÏ 16:09:14:


rmic DBServer
¸¦ ¾È Çϼ̳׿ä...


RMI·Î °³¹ßÇÏ´Â ¹æ¹ýÀÇ Process´Â ´ÙÀ½°ú °°½À´Ï´Ù.


1. java.rmi.Remote ÀÎÅÍÆäÀ̽º¸¦ »ó¼Ó¹Þ¾Æ ÀÓÀÇÀÇ
¿øÇÏ´Â Remote Interface¸¦ ¸¸µì´Ï´Ù.


¿¹)
[HelloInterface.java]
import java.rmi.*;
public interface HelloInterface extends java.rmi.Remote {
Object sayHello() throws java.rmi.RemoteException;
}


2. À§ÀÇ HelloInterface¸¦ ±¸ÇöÇÒ(implements) ½ÇÁ¦ Remote Object¸¦
¸¸µì´Ï´Ù.


¿¹)
[HelloServer.java]
import java.net.*;
import java.util.*;
import java.rmi.*;
import java.rmi.server.UnicastRemoteObject;
import java.rmi.registry.LocateRegistry;


public class HelloServer extends UnicastRemoteObject implements HelloInterface
{
private String name;
public HelloServer(String s) throws java.rmi.RemoteException {
super();
name = s;
}
public Object sayHello() throws RemoteException {
String string = new String("Hey! How are you? Im's Remote Server." );
return (Object)string;
}
public static void main(String args[]) {
int PORT = 7943;
try {
InetAddress address = InetAddress.getLocalHost();
String thisHost = address.getHostAddress();
Properties properties = System.getProperties();
properties.put("java.rmi.server.hostname", thisHost);
System.setProperties(properties);
System.setSecurityManager (new RMISecurityManager());
LocateRegistry.createRegistry( PORT );
HelloServer server = new HelloServer("HelloServer");
Naming.rebind("//:" + PORT + "/HelloServer", server);
}
catch (Exception e) {
System.out.println("HelloServer.main: an exception occurred:");
e.printStackTrace();
}
}
}


3. ¼­¹ö¸¦ ÄÄÆÄÀÏ ÇÕ´Ï´Ù.
$ java HelloServer.java
(ÀÚµ¿À¸·Î HelloInterface.javaµµ ÄÄÆÄÀÏÀÌ µË´Ï´Ù.)


4. Áú¹®ÇϽźÐÀº ÀÌ°úÁ¤À» »ý·« ÇϽŵí Çѵ¥,
À§ÀÇ ÄÄÆÄÀÏµÈ HelloServer.class¸¦ ÀÌ¿ëÇØ
Stub¿Í SkeletonÀ» ¸¸µé¾î¾ß ÇÕ´Ï´Ù.
RMI¿¡¼­ Client¿Í Server´Â ÀÌ°ÍÀ» ÀÌ¿ëÇØ Åë½ÅÀ»
Çϰŵç¿ä.
$ rmic HelloServer


5. ÀÌÁ¦ Client¸¦ ¸¸µé¾î¾ß °ÚÁö¿ä...
¿¹Á¦·Î¼­ AppletÀ¸·Î Client¸¦ ¸¸µç ¿¹Á¦´Â ¾Æ·¡¿Í °°½À´Ï´Ù.
[HelloApplet.java]
import java.awt.*;
import java.rmi.*;
public class HelloApplet extends java.applet.Applet {
private final int PORT = 7943;
String message ;
TextArea t;
public void init() {
t = new TextArea();
setLayout(new BorderLayout());
add("Center", t);
try {
HelloInterface server = (HelloInterface) Naming.lookup("rmi://power:" + PORT + "/HelloServer");
String message = (String)server.sayHello();
t.append(message + "\n");


} catch (Exception e) {
System.out.println("HelloApplet: an exception occurred:");
e.printStackTrace();
}
}
}


6. ¼­¹ö¸¦ ±âµ¿ÇÕ´Ï´Ù.
$ java HelloServer &


7. AppletÀ¸·Î Client¸¦ ºÑÀÌ·Á¸é htmlÆÄÀÏÀÌ ÀÖ¾î¾ß
°ÚÁÒ..
[HelloApplet.html]
<HTML>
<title>Hello World</title>
<center> <h1>Hello World</h1> </center>
The message from the HelloServer is:
<p>
<applet code="HelloApplet.class" width=500 height=120>
</applet>
</HTML>


ÀÌÁ¦ ÀÌ ÆÄÀÏÀ» Appletviewer³ª À¥ ºê¶ó¿ìÁ®¸¦ ÅëÇØ
È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.


PS: À¥¼­¹ö¸¦ °æÀ¯Çؼ­ ½ÇÁ¦·Î º¸½Ã·Á¸é
RMI¼­¹ö°¡ À¥ ¼­¹ö°¡ ÀÖ´Â ¸Ó½Å¿¡ À§Ä¡ÇØ¾ß ÇÕ´Ï´Ù.


Çà¿îÀ»...


PS2: rmiregistry¸¦ ¸í½ÃÀûÀ¸·Î ¶ç¿ö³õ°í ÇÒ ¼öµµ ÀÖÁö¸¸
À§ÀÇ ¿¹Á¦´Â HelloServer.javaÀÇ main¿¡¼­
LocateRegistry.createRegistry( PORT );À» ÀÌ¿ëÇØ
java HelloServer ¸¦ ½ÇÇà½Ã¿¡ ÀÚµ¿À¸·Î Registry¸¦
±âµ¿ÇÏ°Ô Çß½À´Ï´Ù.



´ÙÀ½ ±Ûµé:



À̾ ±Û¿Ã¸®±â(´äÇϱâ)

À̸§:
E-Mail:
Á¦¸ñ:
³»¿ë:
HTML ÅÂ±× Æ÷ÇÔ ¿©ºÎ: HTML ¹®¼­ÀÏ °æ¿ì üũ
°ü·Ã URL(¼±ÅÃ):
URL Á¦¸ñ(¼±ÅÃ):
°ü·Ã À̹ÌÁö URL:


[ ´ÙÀ½ ±Ûµé ] [ À̾ ±Û¿Ã¸®±â(´äÇϱâ) ] [ ÀÚ¹Ù ¹¯°í ´äÇϱâ ]