¼Ò¼³°°Àº ÀÚ¹Ù 4ºÎ  Á¦17Àå ¼ÒÄÏÇÁ·Î±×·¥  17.4 ServerSocket(TCP)  

 

17.4 ServerSocket(TCP)

 

 

Áö±Ý±îÁö´Â Ŭ¶óÀÌ¾ðÆ®¸¸À» Å×½ºÆ®Çß½À´Ï´Ù. À̹ø¿¡´Â Á÷Á¢ Echo¼­¹öÇÁ·Î±×·¥À» Á¦ÀÛÇØ º¸µµ·Ï ÇϰڽÀ´Ï´Ù. ÀϹÝÀûÀÎ ¼ÒÄÏÀº ´ë»ó¿¡ ¿¬°áÀ» ¸ñÀûÀ¸·Î ÇÏ´Â SocketÀÔ´Ï´Ù. ÇÏÁö¸¸ ¼­¹ö¿¡¼­ ´Ù¸¥ ¼ÒÄÏÀÇ ÀÀ´äÀ» ÇØ ÁÖ±â À§Çؼ­´Â ServerSocketÀ̶ó´Â °ÍÀÌ ÇÊ¿äÇÕ´Ï´Ù. ServerSockerÀº Ŭ¶óÀ̾ðÆ®SocketÀÌ »ý¼ºµÇ¸é¼­ Á¢¼Ó¿äûÀ» ÇßÀ» ¶§, ¼­¹ö¿¡¼­ Ŭ¶óÀÌ¾ð Æ®¿Í Åë½ÅÇÒ ¼ö ÀÖ´Â, Ŭ¶óÀÌ¾ðÆ®¿Í ´ëÀÀÇÏ´Â »õ·Î¿î ¼ÒÄÏÀ» »ý¼ºÇØ ÁÖ´Â ¿ªÇÒÀ» ÇÕ´Ï´Ù. Ŭ¶óÀÌ¾ðÆ®´Â ¿©·¯ ´ë Á¢¼Ó¿äûÀ» ÇÏ¸ç ¼­¹ö´Â °¢°¢ÀÇ Å¬¶óÀÌ¾ðÆ®¿¡ Çϳª¾¿ ¼ÒÄÏÀ» »ý¼ºÇÏ°Ô µË´Ï´Ù. À̰ÍÀ» ±×¸²À¸·Î ³ªÅ¸³»¸é ´ÙÀ½°ú °°½À´Ï´Ù.

 

±×¸² 17‑2 ¼­¹ö¿¡ Ŭ¶óÀ̾ðÆ®ÀÇ ¼ÒÄÏ »ý¼º

 

Ŭ¶óÀÌ¾ðÆ®°¡ ¼­¹öÀÇ IP¿Í Port¸¦ ÀÌ¿ëÇÏ¿© SocketÀ» »ý¼ºÇϸé ServerSocket¿¡¼­´Â ¿äûÀ» ¹Þ°í Ŭ¶óÀÌ¾ðÆ®¿Í Åë½ÅÇÒ ¼ö ÀÖ´Â ¼­¹ö ÃøÀÇ SocketÀ» »ý¼ºÇÏ°Ô µË´Ï´Ù. Ŭ¶óÀÌ¾ð Æ® Socket¿¡ ÇϳªÀÇ ¼­¹ö Ãø Ŭ¶óÀÌ¾ðÆ®¿ë SocketÀÌ »ý¼ºµË´Ï´Ù. Áï, ServerSocketÀº ¼ÒÄÏ¿¬°áÀ» À§ÇÑ Áß°³ÀÚ ¿ªÇÒÀ» ÇÏ°Ô µË´Ï´Ù. ÀÌ·¯ÇÑ ¿ø¸®¸¦ ÀÌ¿ëÇÏ¿© EchoServer¿Í EchoClient¸¦ Á¦ÀÛÇØ º¸µµ·Ï ÇϰڽÀ´Ï´Ù. ¸ÕÀú Echo¼­¹ö ÇÁ·Î±×·¥ºÎÅÍ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.

 

EchoServer.java(¸Þ¾Æ¸® ¼­¹ö ÇÁ·Î±×·¥)

import java.net.*;

import java.io.*;

public class EchoServer {

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

      ServerSocket server = new ServerSocket (20000);

       System.out.println ("Server Running");

       while (true) {

          Socket client = server.accept();

          System.out.println ("Connection from: " + client.getInetAddress());

          DataInputStream dis = new DataInputStream(client.getInputStream());

        String temp = dis.readUTF();

        DataOutputStream dos = new DataOutputStream(client.getOutputStream());

        dos.writeUTF(temp);

          dos.writeUTF(temp);

          dos.writeUTF(temp);

          dos.close();

          client.close();

       }

   }

}

C:\JavaExample\17>javac EchoServer.java

C:\JavaExample\17>java EchoServer

Server Running

 

Connection from: user2/211.232.161.80

 

Echo¼­¹öÇÁ·Î±×·¥À» ½ÃÀÛÇϱâ À§Çؼ­´Â ServerSocketºÎÅÍ »ý¼ºÀ» ÇØ¾ß ÇÕ´Ï´Ù. ServerSocket¿¡¼­´Â ÇØ´ç Port¸¸ ÁÖ¾îÁö¸é ÀÚ½ÅÀÇ ÁÖ¼Ò¿¡ ÇØ´ç Port¸¦ ¿ÀÇ ÇÏ¿© Ŭ¶óÀÌ¾ðÆ® SocketÀÇ Á¢¼Ó ¿äûÀ» ¹Þ¾ÆµéÀÏ Áغñ¸¦ ÇÏ°Ô µË´Ï´Ù. ´ÙÀ½Àº ServerSocketÀÇ »ý¼º°ú ¼ÒÄÏÀÇ Á¢¼Ó ´ë±â ÄÚµå´Â ´ÙÀ½°ú °°½À´Ï´Ù.

 

Port¹øÈ£¸¦ 20000À¸·Î ÇÏ´Â ServerSockerÀ» »ý¼ºÇÏ¿´½À´Ï´Ù. ±× ÈÄ¿¡ ¼­¹ö°¡ °¡µ¿ ÁßÀ̶ó´Â ¸Þ½ÃÁö¸¦ ³²°ÜµÎ°í Client¿¡¼­ Á¢¼ÓÇØ¿À±â¸¦ ±â´Ù¸³´Ï´Ù.

 

n        ServerSocket server = new ServerSocket (20000);

n        System.out.pritln(¡°Server Running¡±);

 

±×¸®°í Ŭ¶óÀÌ¾ðÆ®¸¦ Ç×»ó ¹Þ¾ÆµéÀÏ ¼ö ÀÖµµ·Ï while¹®À» »ç¿ëÇÑ ¹«ÇÑ·çÇÁ¸¦ µ¹·Á ÇÁ·Î±×·¥À» ½ÇÇà½Ãŵ´Ï´Ù. ÀÏ¹Ý ÇÁ·Î±×·¥¿¡¼­ ¹«ÇÑ·çÇÁ¸¦ µ¹¸®´Â °ÍÀº ¸Å¿ì À§ÇèÇÑ °á°ú¸¦ ³ªÅ¸³¾ ¼öµµ ÀÖ½À´Ï´Ù. ±×·¯´Ï »ç¿ëÇÒ ¶§´Â Ç×»ó ÁÖÀǸ¦ ÇÏ¸ç »ç¿ëÇÏ¿©¾ß ÇÕ´Ï´Ù.

 

n        while (true) {¡¦ }

 

server.accept()¸Þ¼­µå´Â while¹®À» µ¹¸é¼­ Áö¼ÓÀûÀ¸·Î Ŭ¶óÀ̾ðÆ®ÀÇ ¿äûÀ» ±â´Ù¸®°Ô µË´Ï´Ù. ±×·¯´Ù°¡ acceptÇÏ´Â ¼ø°£ Á¢¼Ó ¿äûÀÌ ¾øÀ¸¸é ´ë±â»óÅ¿¡ µé¾î°¡°Ô µË´Ï´Ù. ÇÁ·Î±×·¥Àº accept»óÅ¿¡¼­ Ŭ¶óÀÌ¾ðÆ®°¡ Á¢¼ÓÇÒ ¶§±îÁö ´õ ÀÌ»ó ÁøÇàÀ» ÇÏÁö ¾ÊÀº »óÅ·Π°è¼Ó ¸ØÃß¾î ÀÖ´Ù°¡ Ŭ¶óÀÌ¾ðÆ®°¡ Á¢¼ÓÇÏ´Â ¼ø°£ Ŭ¶óÀÌ¾ðÆ®¿Í Åë½ÅÇÒ ¼ö ÀÖ´Â SocketÀ» ¹ÝȯÇÏ°Ô µË´Ï´Ù. ±×¸®°í ³ª¼­ ´ÙÀ½ ÁÙÀ» ½ÇÇàÇÏ°Ô µË´Ï´Ù. ÀÌ ¹ÝȯµÈ ¼ÒÄÏÀ¸·Î ¿©·¯ºÐÀº Ŭ¶óÀÌ¾ðÆ®¿Í Åë½ÅÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×¸®°í ´Ù¸¥ Ŭ¶óÀÌ¾ðÆ®°¡ Á¢¼ÓÇÏ´õ¶óµµ °°Àº ·çƾÀ» ¹Ýº¹ÇÏ°Ô µË´Ï´Ù. SocketÀº Ŭ¶óÀÌ¾ðÆ®°¡ Á¢¼ÓÇÒ ¶§ ¸¶´Ù Çϳª¾¿ »ý¼ºµÇ°Ô µË´Ï´Ù.

 

n        Socket client = server.accept();

 

 Å¬¶óÀÌ¾ðÆ®°¡ Á¢¼ÓÇÑ ÈÄ, Socket client°¡ »ý¼ºµÇ¸ç Ŭ¶óÀÌ¾ðÆ®·ÎºÎÅÍ Àü¼ÛµÈ µ¥ÀÌÅ͸¦ Àбâ À§Çؼ­ ÀÔ·Â ½ºÆ®¸²À» »ý¼ºÇÕ´Ï´Ù. ÀԷ½ºÆ®¸²Àº DataInputStreamÀ¸·Î º¯È¯ÇÑ ÈÄ, ½ºÆ®¸²À» ÅëÇØ¼­ µ¥ÀÌÅ͸¦ ÀÐ¾î µéÀÌ°Ô µË´Ï´Ù.

 

n        DataInputStream dis = new DataInputStream(client.getInputStream());

n        String temp = dis.readUTF()

 

 À̶§ DataInputStreamÀÇ readUTF()¸Þ¼­µå´Â º¸Åë ³×Æ®¿öÅ© Åë½ÅÇÁ·Î±×·¥¿¡¼­ ÇѱÛÀÌ ±úÁö´Â °ÍÀ» ¹æÁöÇϱâ À§ÇÏ¿© UTFÆ÷¸ËÀ¸·Î ¹®ÀÚ¿­À» Àü¼ÛÇÏ´Â ¿ªÇÒÀ» ÇÕ´Ï´Ù. UTF-8Æ÷¸ËÀº unsigned integer ¸î °³¸¦ ¸ð¾Æ¼­ ÇϳªÀÇ ±ÛÀÚ¸¦ ¸¸µì´Ï´Ù. ±ÛÀÚ´Â 1¹ÙÀÌÆ®°¡ ¸ð¿©¼­ ±ÛÀÚ°¡ µÉ ¼öµµ ÀÖ°í¿ä, 2¹ÙÀÌÆ®³ª 3¹ÙÀÌÆ®°¡ ¸ð¿©¼­ ±ÛÀÚ°¡ µÉ ¼öµµ ÀÖ½À´Ï´Ù. ¹®Á¦´Â ¸î ¹ÙÀÌÆ®°¡ ¸ð¿©¼­ ±ÛÀÚ°¡ µÇ´ÂÁö ¸ð¸¥´Ù´Â °ÅÁÒ. À̶§ ÇѱÛÀ» UTF-8Æ÷¸ËÀ¸·Î º¯È¯Çϸé, UTF·Î ÀÐ¾î µéÀÏ ¶§ ù ¹ÙÀÌÆ® ¾ÕºÎºÐ¿¡ ¸î ¹ÙÀÌÆ®°¡ ¹­¿© ÀÖ´Ù´Â °ÍÀ» Ç¥½ÃÇÏ°Ô µÇ°í, ÀÚµ¿ÀûÀ¸·Î µÚ ¹ÙÀÌÆ®µéÀ» ÇÔ²² Àо ÇϳªÀÇ ¹®ÀÚ·Î ¸¸µé°Ô µË´Ï´Ù. ±× ÀÌÀ¯´Â ÇѱÛÀº 3¹ÙÀÌÆ® ±âÁØÀ¸·Î µÇ¾î Àֱ⠶§¹®ÀÔ´Ï´Ù. ±×·¯´Ï 1¹ÙÀÌÆ®°¡ ¾Æ´Ï¶ó 3¹ÙÀÌÆ®¾¿ Àо UnicodeÇüÅ·Π³Ñ°Ü ¹Þ½À´Ï´Ù. ÇѱÛÀº ¿Ï¼ºÇü°ú Á¶ÇÕÇüÀÌ Àִµ¥ À©µµ¿ì¿¡¼­´Â ¿Ï¼ºÇü ÇѱÛÀ» ÀÌ¿ëÇÕ´Ï´Ù. ÀÌ ¿Ï¼ºÇü ÇѱÛÀº 2¹ÙÀÌÆ®·Î µÇ¾îÀÖÁÒ. ¿Ï¼ºÇü ÇÑ±Û Áß UnicodeÇüÅ·Πº¯È¯ÇÏ¿´À» ¶§ ÀÎ½Ä ¸øÇÏ´Â ±ÛÀÚ°¡ ¸î ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇϱâ À§Çؼ­ UTF-8Æ÷¸ËÀ» ÀÌ¿ëÇÏ¿© ÇØ°áÇϱ⵵ ÇÕ´Ï´Ù.

 

 EchoÇÁ·Î±×·¥À̱⠶§¹®¿¡ ¹ÞÀº µ¥ÀÌÅ͸¦ ´Ù½Ã Ŭ¶óÀÌ¾ðÆ®·Î Àü¼ÛÇϱâ À§Çؼ­ ¼ÒÄÏÀ» ÀÌ¿ëÇØ¼­ Ãâ·Â ½ºÆ®¸²À» »ý¼ºÇÕ´Ï´Ù. Ãâ·Â ½ºÆ®¸²À¸·Î ¹ÞÀº µ¥ÀÌÅ͸¦ Ŭ¶óÀÌ¾ðÆ® ÂÊÀ¸·Î Àü¼ÛÇϰí ÀÖ½À´Ï´Ù. ¼¼ ¹ø ¹Ýº¹Çؼ­ º¸³»´Â ¿¹ÀÔ´Ï´Ù.

 

n        DataOutputStream dos = new DataOutputStream(client.getOutputStream());

n        dos.writeUTF(temp);

n        dos.writeUTF(temp);

n        dos.writeUTF(temp);

 

 ´ÙÀ½À¸·Î Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥À» »ìÆì º¸µµ·Ï ÇϰڽÀ´Ï´Ù. Ŭ¶óÀÌ¾ðÆ®´Â ´ç¿¬È÷ Á¢¼Ó°ú µ¿½Ã¿¡ ¸Þ¾Æ¸®¸¦ º¸³»´Â ºÎºÐ°ú ¸Þ¾Æ¸®¸¦ ¹Þ´Â ºÎºÐÀ¸·Î µÇ¾î ÀÖ½À´Ï´Ù. ÀÌÀüÀÇ 17.2ÀýÀÇ Å¬¶óÀÌ¾ðÆ® EchoÇÁ·Î±×·¥°ú ¸¶Âù°¡Áö °³³äÀ¸·Î »ý°¢ÇÏ½Ã¸é µË´Ï´Ù. ÁÖÀÇ ÇÏ½Ç °ÍÀº À§ÀÇ EchoServer.java°¡ ½ÇÇà Áß À̾î¾ß ÇÑ´Ù´Â °ÍÀÔ´Ï´Ù.

 

EchoClient.java(¸Þ¾Æ¸® Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥)

import java.io.*;

import java.net.*;

public class EchoClient{

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

      Socket s = new Socket("211.232.161.80", 20000);

       DataOutputStream dos = new DataOutputStream(s.getOutputStream());

       dos.writeUTF(args[0]);

       DataInputStream dis = new DataInputStream(s.getInputStream());

       System.out.println(dis.readUTF());

       System.out.println(dis.readUTF());

       System.out.println(dis.readUTF()); 

   }

}

C:\JavaExample\17>javac EchoClient.java

C:\JavaExample\17>java EchoClient ¾È³çÇϼ¼¿ä

¾È³çÇϼ¼¿ä

¾È³çÇϼ¼¿ä

¾È³çÇϼ¼¿ä

 

 ¿ø·¡ÀÇ ÇÁ·Î±×·¥Àº ´Ù¸¥ ÄÄÇ»ÅͰ¡ ¼­¹öÀÇ ¿ªÇÒÀ» ÇÏ¿©¾ß ÇÕ´Ï´Ù¸¸, Áö±ÝÀº °³³äÀ» ÆÄ¾ÇÇϱâ À§ÇØ ÇϳªÀÇ ÄÄÇ»ÅÍ¿¡¼­ ¼­¹ö¿Í Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥À» µ¹¸®°í ÀÖ½À´Ï´Ù. ¹°·Ð µÎ ´ëÀÇ ÄÄÇ»ÅÍ·Î Å×½ºÆ® ÇØº¸¼Åµµ µË´Ï´Ù. À§ÀÇ ÇÁ·Î±×·¥À» ½ÇÇà½ÃŰ·Á¸é EchoServer ¸¦ ½ÇÇàÇϰí ÀÖ´Â µµ½º(¸í·ÉÇÁ·ÒÇÁÆ®)âÀÌ ¾Æ´Ï¶ó ´Ù¸¥ µµ½º(¸í·ÉÇÁ·ÒÇÁÆ®)âÀ» ½ÇÇà½Ãŵ´Ï´Ù. ÄÄÆÄÀÏ ÈÄ EchoClient¸¦ ½ÇÇà½Ã۸é À§¿Í °°Àº °á°ú°¡ Ãâ·ÂµË´Ï´Ù. ±×¸®°í EchoServer¸¦ ½ÇÇàÇϰí, EchoClient¸¦ ½ÇÇàÇÏ´Â ¼ø°£ EchoServerÀÇ µµ½º(¸í·ÉÇÁ·ÒÇÁÆ®)â¿¡ ¡°Connection from: user2/211.232.161.80¡± ÀÌ·¸°Ô ¾î´À ÄÄÇ»ÅͰ¡ ¾î´À IP Address¿¡¼­ Á¢¼ÓÇÏ¿´´ÂÁö ³ªÅ¸³» ÁÝ´Ï´Ù. Á¶±Ý ´õ ¾Ë¾Æ º¸°Ú½À´Ï´Ù.

 

 Á¢¼ÓÇÒ ¼­¹ö IP Address¿Í Port¸¦ ÀÌ¿ëÇØ¼­ SocketÀ» »ý¼ºÇÕ´Ï´Ù. Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥ÀÇ ¼ÒÄÏÀ» »ý¼ºÇÏ´Â ¼ø°£ ¼­¹öÀÇ accept()¸Þ¼­µå°¡ ¿òÁ÷À̵µ·Ï µÇ¾î ÀÖ½À´Ï´Ù. Ŭ¶óÀÌ¾ðÆ® ¼ÒÄÏÀ» »ý¼ºÇÏ´Â ºÎºÐÀº ´ÙÀ½°ú °°½À´Ï´Ù.

 

n        Socket s = new Socket("211.232.161.80", 20000);

 

 ¸ÕÀú, ¼ÒÄÏÀ» ÀÌ¿ëÇØ¼­ µ¥ÀÌÅ͸¦ ¼­¹ö·Î Àü¼ÛÇÕ´Ï´Ù. µ¥ÀÌÅ͸¦ Àü¼ÛÇϱâ À§Çؼ­´Â ¼ÒÄÏÀ¸·ÎºÎÅÍ Ãâ·Â ½ºÆ®¸²ºÎÅÍ »ý¼ºÇØ¾ß ÇÕ´Ï´Ù.

 

n        DataOutputStream dos = new DataOutputStream(s.getOutputStream());

n        dos.writeUTF(args[0]);

 

Ãâ·Â½ºÆ®¸²À» »ý¼ºÇÏ¿© µ¥ÀÌÅ͸¦ Àü¼ÛÇß´Ù¸é, ÀԷ½ºÆ®¸²À¸·Î µ¥ÀÌÅ͸¦ ÀÐ¾î ³»¾ß ÇÕ´Ï´Ù. ¼­¹ö Ãø¿¡¼­ 3¹ø Àü¼ÛÇϱ⠶§¹®¿¡ Ŭ¶óÀÌ¾ðÆ®¿¡¼­ ÀÔ·Â ½ºÆ®¸²À» 3¹ø Àо°í ÀÖ½À´Ï´Ù.

 

n        DataInputStream dis = new DataInputStream(s.getInputStream());

n        System.out.println(dis.readUTF());

n        System.out.println(dis.readUTF());

n        System.out.println(dis.readUTF()); 

 

 ÀÌ ÇÁ·Î±×·¥Àº °£´ÜÇÑ EchoÇÁ·Î±×·¥À» ±¸ÇöÇÒ ¸ñÀûÀ¸·Î ¸¸µé¾ú±â ¶§¹®¿¡ ÇÁ·Î±×·¥ÀÌ ¾à°£ ¹ÌÈíÇÕ´Ï´Ù. ÇÏÁö¸¸ ¼­¹ö¿Í Ŭ¶óÀÌ¾ðÆ® »çÀÌÀÇ TCPÅë½ÅÀ» À§ÇÑ ¼ÒÄϰ³³äÀ» ÀÌÇØÇÏ´Â µ¥´Â ÃæºÐÇϸ®¶ó »ý°¢µË´Ï´Ù. Ŭ¶óÀÌ¾ðÆ®¿Í ¼­¹ö¿Í Åë½ÅÀ» Çϱâ À§Çؼ­ ServerSocketÀ» ÀÌ¿ëÇϸç ServerSocketÀº Á¢¼Ó ¿äû ½Ã¿¡ Åë½ÅÇÒ ¼ö ÀÖ´Â SocketÀ» »ý¼º½ÃÄÑ Áشٴ °ÍÀ» ±â¾ïÇϽñ⠹ٶø´Ï´Ù.

 

ServerSocket »ý¼ºÀÚ¸Þ¼­µå

public ServerSocket(int port) : ÁöÁ¤µÈ Port¿¡¼­ ¼­¹ö ¼ÒÄÏÀ» ÀÛ¼ºÇÑ´Ù.

public ServerSocket(int port, int backlog) : ¼­¹ö ¼ÒÄÏÀ» ÀÛ¼ºÇÏ¿© ÀÌ ¼ÒÄÏÀ» ÁöÁ¤µÈ ±¹Áö Port¹øÈ£·Î ¹ÙÀεåÇÑ´Ù.

public ServerSocket(int port, int backlog, InetAddress bindAddr) : ÁöÁ¤µÈ Port, ûÃë ¹é·Î±× ¹× ¹ÙÀεå ÇÒ ±¹Áö IP Address·Î ¼­¹ö¸¦ ÀÛ¼ºÇÑ´Ù.

 

ServerSocket ÁÖ¿ä ¸â¹ö¸Þ¼­µå

public Socket accept() : ¼ÒÄÏÀ¸·Î ÀÛ¼ºµÉ ¿¬°áÀ» ûÃëÇÏ°í ¼ö¿ëÇÑ´Ù.

public void close() :  ¼ÒÄÏÀ» ´Ý´Â´Ù.

public InetAddress getInetAddress() :  ¼­¹ö ¼ÒÄÏÀÇ ±¹Áö ÁÖ¼Ò¸¦ ¸®ÅÏÇÑ´Ù.

public int getLocalPort() :  ¼ÒÄÏÀÌ Ã»ÃëÁßÀÎ Port¸¦ ¸®ÅÏÇÑ´Ù.

public int getSoTimeout() :  SO_TIMEOUT¿¡ ´ëÇÑ ¼³Á¤À» °Ë»öÇÑ´Ù.

protected void implAccept(Socket s) :  ServerSocketÀÇ ¼öÆÛŬ·¡½º´Â ÀÌ ¸Þ¼­µå¸¦ »ç¿ëÇÏ¿© ¼ÒÄÏÀÇ ¼­ºêŬ·¡½º¸¦ ¸®ÅÏ ÇÒ accept()¸¦ ´ëü(override)ÇÑ´Ù.

public static void setSocketFactory(SocketImplFactory fac) :  ÀÀ¿ëÇÁ·Î±×·¥¿¡ ´ëÇÑ ¼­¹ö ¼ÒÄÏ ±¸Çö ÆÑÅ丮¸¦ ¼³Á¤ÇÑ´Ù.

public void setSoTimeout(int timeout) :  ÁöÁ¤µÈ ½Ã°£ Á¾·á °ª(¹Ð¸® ÃÊ ´ÜÀ§)À¸·Î SO_TIMEOUTÀ» »ç¿ë °¡´É/»ç¿ë ºÒ°¡´ÉÇÏ°Ô ÇÑ´Ù.

public String toString() :  ¼ÒÄÏÀÇ ±¸Çö ÁÖ¼Ò ¹× ±¸Çö Port¸¦ StringÀ¸·Î ¸®ÅÏÇÑ´Ù.



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