Áö±Ý±îÁö´Â Ŭ¶óÀÌ¾ðÆ®¸¸À» Å×½ºÆ®Çß½À´Ï´Ù. À̹ø¿¡´Â Á÷Á¢ 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ºÎ ÀúÀÚ:ÃÖ¿µ°ü |