• ÇÁ¸®Ä«¿îÅÍ
  • Ç÷¡½ÃºÏ
  • ÇÁ¸®º¸µå
  • Àü±¤ÆÇ
  • À¥°øºÎ¹æ
  • Ä¿¹Â´ÏƼ
[java] ¼ÒÄÏÇÁ·Î±×·¡¹Ö 2008.05.13 10:08
±Û¾´ÀÌ : ¿î¿µÀÚ Á¶È¸ : 452 Ãßõ : 0
1. ¼ÒÄÏ ÇÁ·Î±×·¡¹ÖÀ̶õ?
Ŭ¶óÀ̾ðÆ®¿Í ¼­¹ö°£¿¡ ¼­·Î  Åë½ÅÀ» Çϸ鼭 Á¤º¸¸¦ ÁÖ°í ¹ÞÀ» ¶§ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥À» ¸»ÇÕ´Ï´Ù. ¼­¹ö´Â ¼­¹ö¿¡ ÇØ´çÇÏ´Â ¼ÒÄÏÀ» ¸¸µé°í Ŭ¶óÀ̾ðÆ®´Â Ŭ¶óÀ̾ðÆ®¿¡ ÇØ´çÇÏ´Â ¼ÒÄÏÀ» ¸¸µì´Ï´Ù. ÀÌ·¸°Ô ¸¸µç ¼ÒÄÏ ÀÌ ¿¬°áµÇ¾î ¼­·Î °£Ã¼ µ¥ÀÌÅ͸¦ Àü¼ÛÇÏ°í ¹Þ´Â ±â´ÉÀ» ÇÏ°Ô  µÇ´Â °ÍÀÔ´Ï´Ù. ÀÚ¹Ù¿¡¼­´Â ¼ÒÄÏ ÇÁ·Î±×·¡¹ÖÀÌ ±²ÀåÈ÷ Æí¸®ÇÕ´Ï´Ù. ÀÌÁ¦ ÀÌ·± ¼ÒÄÏÀ» À§ÇÑ ÇÁ·Î±×·¥¹Ö ¹æ¹ýÀ» ¼³¸íÇÕ´Ï´Ù.
 
2. ¼ÒÄÏ ¿¬°á¹æ¹ý
¼ÒÄÏ ÇÁ·Î±×·¥ÀÇ ½ÇÇàÀº STAND ALONE, Áï LAN°ú ¿¬°áµÇÁö ¾ÊÀº ÄÄÇ»ÅÍ¿¡¼­´Â ½ÇÇàÀ» ÇÒ ¼ö°¡ ¾ø½À´Ï´Ù. LANÀÌ ¿¬°áµÈ ÄÄÇ»ÅÍ¿¡¼­ ¼­·ÎÀÇ IP ÁÖ¼Ò¸¦ ã¾Æ¼­ ¿¬°áµÇ±â ¶§¹®¿¡ ¼ÒÄÏ ÇÁ·Î±×·¥Àº ÁÖ·Î LAN¿¡¼­³ª ¶Ç´Â ±¤¿ª LAN Áï WAN¿¡¼­ ¼­·Î ´Ù¸¥ ÄÄÇ»ÅÍ¿¡ µ¥ÀÌÅ͸¦ Àü¼ÛÇÏ°í ¼Û½ÅÀ» ¹Þ´Â µ¥ »ç¿ëÇÕ´Ï´Ù. ¼ÒÄÏ(Socket)À¸·Î  µ¥ÀÌÅ͸¦ Àü¼ÛÇÏ°í µ¥ÀÌÅ͸¦ ¹Þ´Â µ¥´Â 2°¡Áö ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù.
Stream Socket ¹æ¹ý°ú Datagram Socket ¹æ¹ýÀÔ´Ï´Ù. Stream  Socket ¿¬°á ¹æ¹ýÀº ¼­¹ö°¡ ½ÇÇàµÇ¸é¼­ Ŭ¶óÀ̾ðÆ®¸¦ ±â´Ù¸³´Ï´Ù.  ÀÌ ¶§ Ŭ¶óÀ̾ðÆ®°¡  ÀÚ½ÅÀÇ ÁÖ¼Ò¸¦ ¼­¹ö ÇÁ·Î±×·¥¿¡°Ô ÁÝ´Ï´Ù. ¼­¹ö´Â ÁÖ¼Ò¸¦ ¹Þ°í Ŭ¶óÀ̾ðÆ® ÄÄÇ»ÅÍ¿¡ Á¢±ÙÇÏ´Â ±æÀ» ¼³Á¤ÇÕ´Ï´Ù. ÀÌ·¸°Ô ÇÔÀ¸·Î½á ¼­¹ö¿Í Ŭ¶óÀ̾ðÆ®°¡ ¿ÏÀüÈ÷  ¿Â¶óÀÎÀ» ÀÌ·ç°Ô µÇ¾î Åë½ÅÀÌ ½ÃÀ۵Ǵ °ÍÀÔ´Ï´Ù. Datagram Socket  ¿¬°á ¹æ¹ýÀº ÇÑ ÄÄÇ»ÅÍ°¡  ¾î¶² µ¥ÀÌÅ͸¦ ´ã¾Æ¼­ ƯÁ¤ ÄÄÇ»ÅÍ IP ÁÖ¼Ò·Î ¹«Á¶°Ç º¸³»´Â °Ì´Ï´Ù. Áï »óÈ£ ¿Â¶óÀÎ ¿¬°áÀ» ÇÏÁö ¾ÊÀº »óÅ¿¡¼­ ¹«Á¶°Ç »ó´ë ÄÄÇ»ÅÍ IP ÁÖ¼Ò·Î µ¥ÀÌÅÍ°¡ ´Þ·Á°¡´Â °ÍÀÌÁö¿ä. ÀÌ·¸°Ô ÇÏ¿© »ó´ë¹æ ÄÄÇ»ÅÍ¿¡ µµ´ÞÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù. Datagram Socket ¹æ¹ýÀº µ¥ÀÌÅÍ¿¡ ¼øÂ÷¼ºÀÌ ¾ø½À´Ï´Ù.
±×·¯´Ï±î 1¹ø µ¥ÀÌÅÍ, 2¹ø µ¥ÀÌÅÍ, 3¹ø µ¥ÀÌÅ͸¦ Â÷·Ê´ë·Î ƯÁ¤ ÄÄÇ»ÅÍ¿¡ º¸³¾ ¶§ µé¾î¿À´Â µ¥ÀÌÅÍ°¡ 1¹ø, 2¹ø, 3¹ø ÀÌ·¸°Ô µé¾î¿À´Â °ÍÀÌ ¾Æ´Ï°í ¸ÕÀú µµÂøÇÑ µ¥ÀÌÅÍ°¡ ¸ÕÀú µé¾î¿À±â ¶§¹®¿¡ 1, 3, 2 ¶Ç´Â  3, 2, 1 µî ¼ø¼­°¡  ¸¶±¸ ¹Ù²î¾î¼­ µé¾î¿Ã ¼ö ÀÖ½À´Ï´Ù.
±×·¸±â ¶§¹®¿¡ Datagram SocketÀº µ¥ÀÌÅÍ Çì´õ¿¡ º¸³»´Â µ¥ÀÌÅÍÀÇ ¸î  ¹ø° ºí·ÏÀ̶ó´Â °ÍÀ» ¼³Á¤ÇØ ÁÖ°í »ó´ë ÄÄÇ»ÅÍ¿¡ Àü¼ÛÇØ¾ß ÇÕ´Ï´Ù.
¹Ý¸é Stream SocketÀº ¿Â¶óÀÎÀ¸·Î ¿¬°áµÇ¾î ÀÖ´Â »óÅ¿¡¼­ µ¥ÀÌÅ͸¦ º¸³»±â ¶§¹®¿¡ 1, 2, 3 ¼ø¼­·Î µ¥ÀÌÅ͸¦ º¸³»¸é 1, 2, 3 ¼ø¼­·Î µ¥ÀÌÅ͸¦ ¹Þ½À´Ï´Ù.
 
.;SN03
;TI¼ÒÄÏÇÁ·Î±×·¡¹Ö(2)-SeverSocket Ŭ·¡½º
;TX
Stream Socket ¼­¹ö Ŭ·¡½º SeverSocket
SeverSocketŬ·¡½º´Â ¼­¹ö¸¦ ¿¡¼­ ¸¸µå´Â Ŭ·¡½ºÀÔ´Ï´Ù. ¼­¹ö¿¡¼­´Â ¼ÒÄÏÀ»  ¸¸
µé ¶§ Æ÷Æ® ¹øÈ£¸¦ ¼³Á¤ÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù. ÀÌ Æ÷Æ® ¹øÈ£´Â Ŭ¶óÀ̾ðÆ®°¡ ã¾Æ°¡
±âÀ§ÇÑ ÇϳªÀÇ °Ë»ö ¹øÈ£¶ó°í º¼¼ö ÀÖ½À´Ï´Ù. ¸¸¾à ¼­¹ö¿¡¼­ Æ÷Æ® ¹øÈ£¸¦ 100À¸
·Î ¼³Á¤ÇØÁÖ¾ú´Ù¸é Ŭ¶óÀ̾ðÆ®´Â 100À¸·Î ¼³Á¤µÈ Æ÷Æ®¸¦ ã¾Æ¼­ ¼­¹ö¿¡ °ª´Ï´Ù.
ÀÌ Æ÷Æ®°¡ ¸ÂÁö ¾ÊÀ¸¸é Ŭ¶óÀ̾ðÆ®¿Í ¼­¹ö°¡ ¿¬°áµÉ ¼ö°¡  ¾ø½À´Ï´Ù. ±×·¸±â ¶§
¹®¿¡ »ý¼ºÀÚ¿¡ Æ÷Æ®¹øÈ£¸¦ ¼³Á¤ÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù.
 
 SeverSocket =sScoket;
 sSocket=new ServerSocket(2000);
 
ÀÌÁ¦ ¼­¹ö´Â Ŭ¶óÀ̾ðÆ®°¡  ¿À±â¸¦ ±â´Ù¸®¸é  µË´Ï´Ù. ÀÌ·¸°Ô ±â´Ù¸®´Â  ÇÔ¼ö°¡
acceptÀÔ´Ï´Ù.
   sSocket.accept();
Áß¿äÇÑ °ÍÀº Ç׽à ±â´Ù·Á¾ß µÈ´Ù´Â °ÍÀÔ´Ï´Ù. ±×·¸±â ¶§¹®¿¡ ½º·¹µå¸¦ ÀÌ¿ëÇÏ´Â
°ÍÀÌ ÁÁ½À´Ï´Ù. ½º·¹µåÀÇ runºÎºÐ¿¡ ¹«ÇÑ´ë·Î ±â´Ù¸®´Â ·çƾÀ» ¼³Á¤ÇÏ´Â °ÍÀÌÁö
¿ä. accept()ÇÔ¼ö´Â Ŭ¶óÀ̾ðÆ®°¡ ¿¬°áµÇ¸é Ŭ¶óÀ̾ðÆ®°¡ ¿¬°áµÈ Socket  Ŭ·¡½º
¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 
public void run()
{
        while(true)
        {
        try{
                sClient=sSocket.accept();
                if(sClient!=null)
                {
                //Ŭ¶óÀ̾ðÆ®°¡ Á¢¼ÓÇϸé sClient°¡ nullÀÌ ¾Æ´Ï´Ù.
                // À̶§´Â Å»ÃâÀ» ÇÑ´Ù.
                }
        }catch(IOException e){}
        }
                       
        }
 
accept()ÇÔ¼ö¿¡ ÀÇÇؼ­ Ŭ¶óÀ̾ðÆ®°¡ Á¢¼ÓÀÌ µÇ¸é  Á¢¼ÓµÈ Ŭ¶óÀ̾ðÆ®¿¡ µ¥ÀÌÅÍ
¸¦ º¸³»±â À§ÇÑ ½ºÆ®¸²À» ¼³Á¤ÇÕ´Ï´Ù. À̶§ »ç¿ëÇϴ Ŭ·¡½º´Â
 PrintStream Ŭ·¡½º ÀÔ´Ï´Ù.
 
PrintStream out=new PrintStream(sClient.getOutputStream());
        ´ÙÀ½À¸·Î´Â Ŭ¶ó¾ðÆ®·Î ºÎÅÍ µ¥ÀÌÅ͸¦ ¹ÞÀ» Ŭ·¡½º¸¦ ¼³Á¤ÇÕ´Ï´Ù.
ÀÌ°ÍÀº ÀüÀåÀÇ URL¿¡¼­  »ç¿ëÇѹæ¹ý°ú °°½À´Ï´Ù.  Áï InputStreamÀ¸·Î ¿¬°áÀ»
¹Þ°í ÀÌ°ÍÀ» Buff·Î ÀÌ°ÍÀ» ´Ù½Ã Data½ºÆ®¸²À¸·Î ¿¬°áÀ» ÇÏ´Â °ÍÀÔ´Ï´Ù.
 
InputStream inn=sClient.getInputStream();
BufferedInputStream buffInput= new BufferedInputStream(inn);
DataInputStream dataInput= new DataInputStream(buffInput);
                                               
ÀÌ·¸°Ô ÇÑÈÄ¿¡ ³Ñ¾î ¿À´Â  µ¥ÀÌÅ͸¦ readLine()ÇÔ¼ö¸¦ ÀÌ¿ëÇÏ¿©  ¹Þ¾Æ¼­ Ãâ·ÂÀ»
ÇØÁÖ¸é µË´Ï´Ù.
 
.;SN03
;TI¼ÒÄÏÇÁ·Î±×·¡¹Ö(3)-Socket Ŭ·¡½º
;TX
Stream Socket Ŭ¶óÀ̾ðÆ® Ŭ·¡½º Socket
Ŭ¶óÀ̾ðÆ® ¼ÒÄÏ Å¬·¡½º´Â À§ÀÇ ¼­¹ö  Ŭ·¡½º¿¡¼­µµ »ç¿ëÇÑ Socket¸¦ »ç¿ëÇÕ´Ï
´Ù. ÀÌ ¼ÒÄÏÀÇ »ý¼ºÀÚ¿¡ Á¢¼ÓÇÏ°íÀÚ Çϴ ȣ½ºÆ®¿Í ¼³Á¤µÈ Æ÷Æ®¹øÈ£¸¦ ÀÔ·ÂÇϸé
¿¬°áÀ» ÇÒ¼ö ÀÖ½À´Ï´Ù.
  Socket sClient=new Socket("vision.hanyang.ac.kr",2000);
ÀÌ·¸°Ô ÇÏ¿© sClientŬ·¡½º°¡ nullÀÌ ¾Æ´Ï¸é  ¿¬°áÀÌ µÈ°ÍÀÔ´Ï´Ù. ÀÌ·¸°Ô ¿¬°áÀÌ
µÇ¸é À§ÀÇ ¼­¹ö¿Í ¸¶Âù°¡Áö·Î ÀÔ·Â ½ºÆ®¸²°ú Ãâ·Â ½ºÆ®¸²À» ¿¬°á½Ãŵ´Ï´Ù.
 
¼­¹ö Á¢¼Ó¿¹Á¦ ExNet03.java
¼­¹ö Á¢¼Ó¿¹Á¦ ÇÁ·Î±×·¥ ExNet03.java´Â ÇϳªÀÇ  ¼­¹ö ¼ÒÄÏÀ» ¸¸µçµÚ¿¡ Ŭ¶óÀÌ
¾ðÆ®¸¦ ±â´Ù¸®°í Ŭ¶óÀ̾ðÆ®°¡ Á¢¼ÓÀÌ µÇ¸é  ¿¬°áÀÌ µÇ¾ú´Ù´Â ¸Þ½ÃÁö¿Í Ŭ¶óÀÌ
¾ðÆ®¿¡ Àλ縦 º¸³»´Â ¿¹Á¦ ÀÔ´Ï´Ù.
 
 
import java.applet.*;
import java.awt.*;
import java.net.*;
import java.io.*;
 
 
public class ExNet03 extends Applet implements Runnable
{
Thread myThread;
ServerSocket sSocket;
Socket sClient;
PrintStream out;
InputStream inn;
String s;
 
public void init()
{
        sClient=null;
        out=null;
        try{
        //Æ÷Æ® ¹øÈ£ ¼³Á¤
        sSocket=new ServerSocket(2000);
        } catch(Exception e){}
        s="¿¬°á¾ÈµÇ¾úÀ½";
        }
 
public void paint(Graphics g)
{
        g.drawString(s,10,10);
}
{{
}}public void start()
{
        myThread=new Thread(this);
        myThread.start();
}
//½º·¹µå ½ÇÇà
public void run()
{
        while(true)
        {
        try{
        //°è¼ÓÀûÀ¸·Î Ŭ¶óÀ̾ðÆ®¸¦ ±â´Ù¸°´Ù.
        sClient=sSocket.accept();
        //Ŭ¶óÀ̾ðÆ®°¡ ¿À¸é
        if(sClient!=null)
        {
        //Ãâ·ÂÇÒ Åë·Î¸¦ ¸¸µé°í
        out=new PrintStream(sClient.getOutputStream());
        //ÀÔ·Â ¹ÞÀ» Åë·Î¸¦ ¸¸µç´Ù.
        inn=sClient.getInputStream();
        s="¿¬°áµÇ¾úÀ½";
        //Àλ縻À» º¸³½´Ù.
        out.println("hi! ");
        repaint();
        break;
        }
        }catch(IOException e){}
        }
       
        }
}
 
.;SN03
;TI¼ÒÄÏÇÁ·Î±×·¡¹Ö(4)-Ŭ¶óÀ̾ðÆ® Á¢¼Ó ¿¹Á¦
;TX
Ŭ¶óÀ̾ðÆ® Á¢¼Ó¿¹Á¦ ExNet04.java
ExNet04.java´Â ¼­¹ö¿¡ Á¢¼ÓÇÏ´Â ¿¹Á¦ ÀÔ´Ï´Ù. ÀÌÇÁ·Î±×·¥Àº ExNet03.java¿Í ÇÔ
²² »ç¿ëÀ» ÇØ¾ß ÇÕ´Ï´Ù. À̶§ Á¢¼Ó ÁÖ¼Ò´Â ÀÚ½ÅÀÇ ÁÖ¼Ò·Î ¹Ù²Ù¾î¾ß ÇÕ´Ï´Ù.
 sClient=new Socket("166.104.136.64",2000);
Áï À§¿Í °°ÀÌ µÇ¾îÀÖ´Â 166.104.136.64ÀÇ ÁÖ¼Ò¸¦ ¼­¹ö°¡ Àִ  ÁÖ¼Ò·Î ¹Ù²Ù¾î ÁÖ
¾î¾ß ÇÕ´Ï´Ù.
 
import java.applet.*;
import java.awt.*;
import java.net.*;
import java.io.*;
public class ExNet04 extends Applet implements Runnable
{
Thread myThread;
Socket sClient;
String s;
InputStream sInput;
BufferedInputStream buffInput;
DataInputStream dataInput;
String data;
 
public void init()
{
        s="¾øÀ½";
        data=null;
}
 
public void paint(Graphics g)
{
        g.drawString(s,10,10);
}
public void start()
{
        myThread=new Thread(this);
        myThread.start();
}
public void run()
{
        while(true)
        {
        try{
                //¼­¹ö¿¡ Á¢¼ÓÀ» ÇÑ´Ù.
                sClient=new Socket("166.104.136.64",2000);
                }
        catch(Exception e){}
        //Á¢¼ÓÀÌ µÇ¸é
        if(sClient!=null)
        {
        try{
                //ÀÔ·Â ½ºÆ®¸²À» ¸¸µé°í
                sInput=sClient.getInputStream();
                buffInput= new BufferedInputStream(sInput);
                dataInput= new DataInputStream(buffInput);
                break;
        }catch(IOException e){}
        }
        }
        while(true)
        {
        //µ¥ÀÌÅ͸¦ Àб⠽ÃÀÛÇÏ¿©
        try{
        data=dataInput.readLine();
        }catch(IOException e){}
        if(data!=null)
        {
        //ÀÐÀº µ¥ÀÌÅ͸¦ È­¸é¿¡ Ãâ·ÂÇÑ´Ù.
        s=data;
        data=null;
        }
        repaint();
        }                      
        }
}
.;SN03
;TI¼ÒÄÏÇÁ·Î±×·¡¹Ö(5)-äÆà ÇÁ·Î±×·¥ ¿¹Á¦
;TX
äÆà ÇÁ·Î±×·¥ ¿¹Á¦ ExNet05.java ¿Í ExNet06.java
ExNet05.java´Â ¼­¹ö¿ë äÆà ÇÁ·Î±×·¥ÀÌ¸ç  ExNet06.java´Â Ŭ¶óÀ̾ðÆ®¿ë äÆÃ
ÇÁ·Î±×·¥ÀÔ´Ï´Ù. Áö±Ý±îÁö ¼³¸íÇÑ ³»¿ëÀ» ÀÌÇØÇÏ¿´´Ù¸é ¼Ò½º¸¸ º¸½Ã°íµµ ¾Æ½Ç¼ö
ÀÖÀ»°Ì´Ï´Ù.
 
//ExNet05.java äÆà ÇÁ·Î±×·¥ ¼­¹ö
import java.applet.*;
import java.awt.*;
import java.net.*;
import java.io.*;
 
public class ExNet05 extends Applet implements Runnable
{
Thread myThread;
ServerSocket sSocket;
Socket sClient;
PrintStream out;
InputStream inn;
BufferedInputStream buffInput;
DataInputStream dataInput;
 
String s;
TextField sendData;
TextField receiveData;
Button sendbutton;
 
 
public void init()
{
s="¿¬°á¾ÈµÊ";
sendbutton=new Button("º¸³»±â");
sendData= new TextField("",20);
receiveData=new TextField(s,20);
add(receiveData);
add(sendData);
add(sendbutton);
sClient=null;
out=null;
try{
sSocket=new ServerSocket(2555);
} catch(Exception e){}
}
 
public void paint(Graphics g)
{
g.drawString(s,10,100);
}
public void start()
{
myThread=new Thread(this);
myThread.start();
}
public void run()
{
while(true)
{
try{
        sClient=sSocket.accept();
        if(sClient!=null)
        {
        out=new PrintStream(sClient.getOutputStream());
        inn=sClient.getInputStream();
        buffInput= new BufferedInputStream(inn);
        dataInput= new DataInputStream(buffInput);
        s="¿¬°á µÇ¾úÀ½";
        receiveData.setText(s);
        out.println("hi! ");
        repaint();
        break;
        }
}catch(IOException e){}
}
s=null;
while(true)
{
        try{
        s=dataInput.readLine();
        }catch(IOException e){}
        if(s!=null)
        {
                receiveData.setText(s);
        }
        s=null;
        repaint();
}
 
}
public boolean action(Event evt, Object arg)
{
String str = sendData.getText();
 
try
{
out.println(str);
}
catch (IOException e)
{
}
 
return true;
}
 
public void stop()
{
out.close();
myThread.stop();
}
 
}
 
 
 
//ExNet06.java äÆà ÇÁ·Î±×·¥ Ŭ¶óÀ̾ðÆ® ¿¹Á¦
import java.applet.*;
import java.awt.*;
import java.net.*;
import java.io.*;
public class ExNet06 extends Applet implements Runnable
{
Thread myThread;
Socket sClient;
String s;
InputStream sInput;
BufferedInputStream buffInput;
DataInputStream dataInput;
String data;
TextField sendData;
TextField receiveData;
Button sendbutton;
PrintStream out;
 
public void init()
{
s="¾øÀ½";
data=null;
sendbutton=new Button("º¸³»±â");
sendData= new TextField("",20);
receiveData=new TextField(s,20);
add(receiveData);
add(sendData);
add(sendbutton);
}
 
public void paint(Graphics g)
{
        g.drawString(s,10,100);
}
public void start()
{
myThread=new Thread(this);
myThread.start();
}
public void run()
{
while(true)
{
        try{
        sClient=new Socket("166.104.136.64",2555);
        }
        catch(Exception e){}
        if(sClient!=null)
        {
        try{
        out=new PrintStream(sClient.getOutputStream());
        sInput=sClient.getInputStream();
        buffInput= new BufferedInputStream(sInput);
        dataInput= new DataInputStream(buffInput);
        break;
        }catch(IOException e){}
        }
        }
        while(true)
        {
                try{
                data=dataInput.readLine();
                }catch(IOException e){}
                if(data!=null)
                {
                        s=data;
                        receiveData.setText(s);
                        data=null;
                }
                repaint();
        }
       
        }
    public boolean action(Event evt, Object arg)
    {
              String str = sendData.getText();
        try
        {
                        out.println(str);
        }
        catch (IOException e)
        {
        }
       
        return true;
    }
        public void stop()
        {
                out.close();
                myThread.stop();
        }
 
 
}
 
º»¿¹Á¦ ÇÁ·Î±×·¥Àº ÇѱÛÀÌ Áö¿øÀÌ ¾ÈµË´Ï´Ù.  ¿µ¹®¸¸ °¡´ÉÇÑ ÇüÅ ÀÔ´Ï´Ù. ÀÌÇÁ
·Î±×·¥¿¡¼­ ÇѵéÀ» Áö¿øÇÏ±â  À§Çؼ­´Â ¹ÙÀÌÆ®  Äڵ带 ÀüȯÇØ¾ß ÇÕ´Ï´Ù.  ¶Ç´Â
CGI ¿¡¼­ ¼³¸íÇÏ°ÚÁö¸¸ ¸ðµç µ¥ÀÌÅ͸¦ 16Áø¼ö ÄÚµå·Î ¹Ù²Ù¾î Àü¼ÛÀ» ÇÑ´ÙÀ½ ¹Þ
´Â Ãø¿¡¼­ µ¥ÀÌÅ͸¦ ´Ù½Ã ¹®ÀÚ¿­·Î ¹Ù²Ù¾î¼­  ÀúÀåÀ» Çϸé ÇѱÛÀÌ ³ªÅ¸³ª°Ô µÇ
¾î ÀÖ½À´Ï´Ù.
 
.;SN03
;TI¼ÒÄÏÇÁ·Î±×·¡¹Ö(6)-µ¥ÀÌÅÍ ±×·¥ ¼ÒÄÏ
;TX
µ¥ÀÌÅͱ׷¥ ¼ÒÄÏ ¼Û½Å
µ¥ÀÌÅͱ׷¥ ¼ÒÄÏÀº ´Ü¼øÈ÷ º¸³¾  µ¥ÀÌÅ͸¦ ÆÐŶÀ¸·Î ¸¸µé¾î  ¾Õ¿¡ º¸³¾ »ó´ë¹æ
ÁÖ¼Ò¸¦ Àû¾î¼­ ³¯·Áº¸³½´Â ÀÏÀ» ÇÕ´Ï´Ù.
¼Û½ÅÀ» ÇÒ °æ¿ì ¸ÕÀú ¼Û½ÅÇÒ µ¥ÀÌÅÍ ÆÐŶÀ» ¸¸µé¾î¾ß ÇÕ´Ï´Ù. µ¥ÀÌÅÍ ÆÐŶÀ» ¸¸
µé ¶§ »ç¿ëÇϴ Ŭ·¡½º°¡  DatagramPacketÀÔ´Ï´Ù. ÀÌ »ý¼ºÀڴ  ´ÙÀ½°ú °°½À´Ï
´Ù.
 public DatagramPacket(byte ibuf[], int ilength,
                          InetAddress iaddr, int iport)
µ¥ÀÌÅÍ°¡ µé¾î ÀÖ´Â ibuf[]¸¦ ilentht±æÀ̸¸Å­ iaddrÁÖ¼Ò·Î Æ÷Æ®°¡ iportÀÎ °ªÀ¸·Î
¼Û½ÅÀ» ÇÏÀÚ´Â À̾߱â ÀÔ´Ï´Ù.
´ÙÀ½À¸·Î µ¥ÀÌÅÍ ±×·¥ ¼ÒÄÏÀ» ¸¸µì´Ï´Ù. À̶§ »ç¿ëÇϴ Ŭ·¡½º´Â
  DatagramSocket ÀÔ´Ï´Ù.
 DatagramSocket¾È¿¡ ÀÖ´Â send()ÇÔ¼ö¸¦ ÀÌ¿ëÇÏ¿© µ¥ÀÌÅ͸¦ º¸³»¸é µË´Ï´Ù.
´ÙÀ½Àº ¼Û½Å ¿¹Á¦ ÀÔ´Ï´Ù.
  DatagramPacket packet= new DatagramPacket(buff,10,
      InetAddress.getByName("vision.hanyang.ac.kr"),2000);
  DatagramSocket so=new DatagramSocket();
   so.send(packet); //µ¥ÀÌÅ͸¦ º¸³½´Ù.
   so.close()//¼ÒÄÏÀ» ´Ý´Â´Ù.
 
µ¥ÀÌÅͱ׷¥ ¼ÒÄÏ ¼ö½Å
µ¥ÀÌÅÍÀÇ ¼ö½ÅÀÇ À§ÀÇ ¼Û½Å°ú °°Àº  ÇüÅ·Π¸¸µì´Ï´Ù. ÀÌ·¸°Ô ¸¸µç´ÙÀ½  send°¡
¾Æ´Ñ receive()ÇÔ¼ö¸¦ ÀÌ¿ëÇؼ­ µ¥ÀÌÅ͸¦ ¹ÞÀ¸¸é µË´Ï´Ù.
 
  DatagramPacket packet= new DatagramPacket(buff,10,
      InetAddress.getByName("vision.hanyang.ac.kr"),2000);
  DatagramSocket so=new DatagramSocket();
   so.send(packet); //µ¥ÀÌÅ͸¦ ¹Þ´Â´Ù.
   so.close()//¼ÒÄÏÀ» ´Ý´Â´Ù.
 
receive()ÇÔ¼ö¸¦ ½ÇÇà½ÃÅ°¸é  buff¿¡ ¹ÞÀº µ¥ÀÌÅÍ°¡ µé¾î°¡ ÀÖ½À´Ï´Ù.
ÀλýÀº ª½À´Ï´Ù.
±×·¯¹Ç·Î ´Ù¸¥ »ç¶÷ÀÌ ¿ä±¸ÇÏ´Â »îÀ» »ì¸é¼­ ½Ã°£À» ³¶ºñÇؼ­´Â ¾È µË´Ï´Ù.
µ·°ú ¸í¿¹¸¦ ¾òÁö ¸øÇÏ´õ¶óµµ ³¡±îÁö ÀÚ½ÅÀÇ ±æÀ» °íÁýÇϽʽÿÀ
¸ñ·Ï À­±Û ¾Æ·§±Û
³»¾Ë FREECOUNT.NET ÇÁÄ«³Ý »ý±ä³¯ 2003.12.20 Ȩ | Ä«¿îÅÍ | Ç÷¡½ÃºÏ | ÇÁ¸®º¸µå | Àü±¤ÆÇ | À¥°øºÎ¹æ | Ä¿¹Â´ÏƼ | ÂÊÁöÇÔ