±×·³ ºñ½ÁÇÑ ¿¹Á¦¸¦ Çϳª ´õ º¸°Ú½À´Ï´Ù. À§ÀÇ ¿¹Á¦¿Í ºñ½ÁÇϱ⠶§¹®¿¡ ÀÚ¼¼ÇÑ ¼³¸íÀº »ý·«Çϱâ·Î ÇϰڽÀ´Ï´Ù. ÇÑ ¹ø Á÷Á¢ ÇØº¸½Ã°í ¾î¶»°Ô ´Ù¸¥Áö ã¾Æ º¸½Ã±â ¹Ù¶ø´Ï´Ù. ÀÚ, ¿¹Á¦°¡ ³ª°©´Ï´Ù.
UDPServer.java( |
import java.io.*; import java.net.*; import java.util.Date; public class UDPServer { public static void main(String[] args) throws Exception { DatagramSocket socket = new DatagramSocket(); InetAddress inet = InetAddress.getByName("127.0.0.1"); int port = 20001; while(true){ String dateStr = new String(new Date().toString()+"\r\n"); int len = dateStr.length(); DatagramPacket packetOut = new DatagramPacket(dateStr.getBytes(), len, inet, port); socket.send(packetOut); System.out.print(" Sending:"+dateStr); Thread.sleep(1000); } } } |
C:\JavaExample\17>javac UDPServer.java C:\JavaExample\17>java UDPServer Sending:Wed Oct 24 20:13:20 GMT+09:00 2001 Sending:Wed Oct 24 20:13:21 GMT+09:00 2001 Sending:Wed Oct 24 20:13:22 GMT+09:00 2001 Sending:Wed Oct 24 20:13:23 GMT+09:00 2001 Sending:Wed Oct 24 20:13:24 GMT+09:00 2001 |
¸ÕÀú, DatagramSocket °´Ã¼¸¦ »ý¼ºÇÕ´Ï´Ù.
n DatagramSocket socket = new DatagramSocket();
±×¸®°í DatagramPacket¿¡ ÇÊ¿äÇÑ Á¤º¸¸¦ ¸¸µì´Ï´Ù.
n InetAddress inet = InetAddress.getByName("127.0.0.1");
n int port = 20001;
inet ÁÖ¼Ò·Î µ¥ÀÌÅͱ׷¥À» Áö¼ÓÀûÀ¸·Î º¸³À´Ï´Ù. ´©°¡ ¹ÞµçÁö ¸»µçÁö Áö¼ÓÀûÀ¸·Î º¸³»°Ô µË´Ï´Ù. ´ÜÁö, ³Ê¹« ºü¸£°Ô º¸³»´Â °ÍÀ» ¹æÁöÇϱâ À§Çؼ Thread.Sleep(1000)À» »ç¿ëÇÏ¿© 1Ãʸ¶´Ù º¸³»°í ÀÖ½À´Ï´Ù. ´ÙÀ½Àº ¹«ÇÑ ·çÇÁ¸¦ µ¹¸é¼ 1Ãʸ¶´Ù µ¥ÀÌÅͱ׷¥ ÆÐŶÀ» º¸³»´Â Á¶°¢ ÄÚµåÀÔ´Ï´Ù.
n while(true){
n String dateStr = new String(new Date().toString()+"\r\n");
n int len = dateStr.length();
n DatagramPacket packetOut = new DatagramPacket(dateStr.getBytes(), len, inet, port);
n socket.send(packetOut);
n Thread.sleep(1000);
n }
Àü¼ÛÇÒ ¶§ ÇÊ¿äÇÑ Á¤º¸¸¦ new Date().toString()À» ÀÌ¿ëÇØ¼ ¸¸µé°Ô µÇ¸ç ¸ðµç Á¤º¸¸¦ Á¶ÇÕÇØ¼ packetOut°´Ã¼¸¦ »ý¼ºÇÏ°í ¸¸µé¾îÁø socketÀ» ÅëÇØ¼ Àü¼ÛÇÏ°Ô µË´Ï´Ù. ¾ÆÁÖ ´Ü¼øÇÏÁö¸¸ TCPÅë½Å°ú ´Ù¸¥Á¡À» ºÐ¸íÇÏ°Ô Áõ¸íÇÏ´Â ¿¹Á¦ÀÔ´Ï´Ù. Ŭ¶óÀÌ¾ðÆ®°¡ Á¸ÀçÇϵçÁö ¸»µçÁö ±×³É ƯÁ¤ÁÖ¼Ò·Î µ¥ÀÌÅ͸¦ ¹Ð¾î ³Ö°í ÀÖ½À´Ï´Ù. ´ÙÀ½À¸·Î Ŭ¶óÀÌ¾ðÆ® ¿¹Á¦¸¦ »ìÆìº¸µµ·Ï ÇϰڽÀ´Ï´Ù.
UDPClient.java |
import java.io.*; import java.net.*; import java.util.Date; public class UDPClient { public static void main(String[] args) throws Exception { DatagramPacket packetIn=null; byte packetBuf[] = new byte[1024]; DatagramSocket socket = new DatagramSocket(20001); while(true){ packetIn = new DatagramPacket(packetBuf, 1024); socket.receive(packetIn); String dayTime = new String(packetIn.getData(),0, packetIn.getLength()); System.out.print("Received: " + dayTime); } } } |
C:\JavaExample\17>javac UDPClient.java C:\JavaExample\17>java UDPClient Received: Wed Oct 24 20:13:20 GMT+09:00 2001 Received: Wed Oct 24 20:13:21 GMT+09:00 2001 Received: Wed Oct 24 20:13:22 GMT+09:00 2001 |
Ŭ¶óÀÌ¾ðÆ®´Â ÀÚ½ÅÀÇ Æ¯Á¤Æ÷Æ®·Î µé¾î¿À´Â µ¥ÀÌÅ͸¦ DatagramSocket°ú DatagramPacketÀ» ÀÌ¿ëÇÏ¿© Áö¼ÓÀûÀ¸·Î ¹Þ¾Æ ³»°í ÀÖ½À´Ï´Ù. ¸¸¾à ÀÌ µ¥ÀÌÅ͸¦ ¹Þ°í ½ÍÁö ¾Ê´Ù¸é ÇÁ·Î±×·¥À» Á¾·áÇÏ¸é µÇ´Â °ÍÀÌÁÒ. ¸¸¾à µ¥ÀÌÅ͸¦ ¹ÞÁö ¾Ê´Â´Ù¸é µ¥ÀÌÅÍ´Â ¾î¶»°Ô µÉ±î¿ä? ƯÁ¤½Ã°£ÀÌ Áö³ª¸é ÀÚµ¿À¸·Î ¼Ò¸êÇÏ°Ô µÇ¾îÀÖ½À´Ï´Ù.
ÇÁ·Î±×·¥¿¡¼ ¸ÕÀú µ¥ÀÌÅ͸¦ ¹ÞÀ» ¶§ »ç¿ëÇÒ DatagramPacketÀ» ¼±¾ðÇÏ°í µ¥ÀÌÅ͸¦ ¹ÞÀ» Àӽà Byte ¹öÆÛ¸¦ »ý¼ºÇϰí ÀÖ½À´Ï´Ù. ±×¸®°í Åë½Å¿¡ »ç¿ëÇÒ DatagramSocketÀ» »ý¼ºÇϰí ÀÖ½À´Ï´Ù.
n DatagramPacket packetIn=null;
n byte packetBuf[] = new byte[1024];
n DatagramSocket socket = new DatagramSocket(20001);
´ÙÀ½À¸·Î ¹«ÇÑ ·çÇÁ¸¦ µ¹¸é¼ DatagramPacketÀ» »ý¼ºÇÏ¿© DatagramSocketÀ¸·Î ¹Þ¾Æ ì±â°í ÀÖ½À´Ï´Ù. ±×¸®°í ¹ÞÀº DatagramPakcet¿¡ Æ÷ÇԵǾî ÀÖ´Â µ¥ÀÌÅ͸¦ StringÀ¸·Î º¯È¯ÇÏ´Â ÀÛ¾÷À» ÇÏ°Ô µË´Ï´Ù.
n while(true){
n packetIn = new DatagramPacket(packetBuf, 1024);
n socket.receive(packetIn);
n String dayTime = new String(packetIn.getData(),0, packetIn.getLength());
n }
ÀÌÁ¦ ÇÁ·Î±×·¥À» ½ÇÇà ½ÃÄÑ º¸µµ·Ï ÇϰڽÀ´Ï´Ù. ¸ÕÀú ServerÂÊÀ» ½ÇÇàÇØ¾ß ÇÕ´Ï´Ù. ±×¸®°í Ŭ¶óÀ̾ðÆ®ÀÇ ÇÁ·Î±×·¥À» ½ÇÇà½ÃŲ´Ù¸é °è¼ÓÀûÀ¸·Î ½Ã°£ µ¥ÀÌÅ͸¦ ¹ÞÀ» ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. À§ÀÇ ¿¹Á¦¿¡¼ ServerÂÊÀÇ IP Address¸¦ ÀÚ±âÀÇ IP Address·Î ÇÏ¿´½À´Ï´Ù. ÇÑ ¹ø ƯÁ¤ IP¸¦ °¡Áø ´Ù¸¥ ÄÄÇ»ÅÍ¿¡¼ ¼¹öÇÁ·Î±×·¥À» ½ÇÇà½ÃŲ ÈÄ Å×½ºÆ®¸¦ ÇØ º¸±æ ¹Ù¶ø´Ï´Ù.
À§¿¡ ¼³¸íÇÑ °ÍµéÀº ÀÌÇØÇϱ⠽±µµ·Ï ¾´ ±Û ÀÔ´Ï´Ù. Á¶±Ý¸¸ ±í°Ô µé¾î°¡ º¸¸é »ó´çÇÑ ³À̵µ¸¦ ´À³¥ ¼ö ÀÖ½À´Ï´Ù. °ü½ÉÀÌ ÀÖÀ¸½Å ºÐµéÀº Àü¹® ¼ÀûµéÀ» ÂüÁ¶ÇÏ½Ã¸é µÉ °ÍÀÔ´Ï´Ù. ÀÌ»óÀ¸·Î UDP¿¡ ´ëÇÑ ¼³¸íµµ Á¢°Ú½À´Ï´Ù. ±×¸®°í ´ÙÀ½À¸·Î ¿©·¯ºÐÀÌ ±â´Ù¸®°í ±â´Ù¸®¼Ì´ø ÀÚ¹ÙÀÇ Á¾ÇÕ¿¹¼ú, äÆÃÀ» ±¸ÇöÇØ º¸°Ú½À´Ï´Ù.
jabookÀúÀÚ¸íÇÔ |
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù4ºÎ ÀúÀÚ:ÃÖ¿µ°ü |