UDP Chatting Program
1. ±¸Çö ȯ°æ
¿î¿µÃ¼Á¦ : Windows NT
°³¹ß ¾ð¾î : java(jdk1.2)
ÀÛ¾÷ ¹× ¼öÇà ȯ°æ : PC Pentium MMX 166
2. äÆà ¼¹ö ¹× Ŭ¶óÀ̾ðÆ® ±¸Çö ±¸Á¶
2.1 äÆà ¼¹öÀÇ ±¸Á¶
<±×¸² 2-1> äÆà ¼¹ö ±¸Á¶
äÆà ¼¹ö´Â DatagramServer¶ó°í ¸í¸íÇß°í, ½º·¹µå¸¦ Çϳª »ý¼ºÇϴµ¥ ÀÌ ½º·¹µå¿¡¼ ´ëºÎºÐÀÇ ÀÛ¾÷À» ¼öÇàÇÏ°Ô µÈ´Ù. ½º·¹µå ³»ºÎ¿¡´Â hashtable°ú tokenizer¸¦ Æ÷ÇÔÇÏ°í ÀÖ¾î¼ socketÀ¸·ÎºÎÅÍ µé¾î¿Â data¿¡¼ ID¸¦ ±¸º°ÇØ ³»°Ô µÇ°í, ÀÌ ID´Â ´Ù½Ã packetÀÇ source address¿Í ÇÔ²² key·Î ÀüȯÇؼ hashtable·Î ÀúÀåÀÌ µÇ°Ô µÈ´Ù. hashtable¿¡´Â port°¡ ÀúÀåÀÌ µÇ¸ç ¿©±â¿¡ ÀúÀåµÈ port¸¦ ´Ù½Ã Àо°í, address¿Í ID¸¦ ÅëÇÏ¿© ÇöÀç µ¥ÀÌÅ͸¦ ÁÖ°í ¹Þ°í Àִ Ŭ¶óÀ̾ðÆ®·Î broadcasting ÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù.
2.2 äÆà Ŭ¶óÀ̾ðÆ® ±¸Á¶
äÆà Ŭ¶óÀ̾ðÆ®´Â DatagramClient¶ó ¸íÇßÀ¸¸ç, ¿©±â¿¡¼´Â ÁÖ·Î GUI¸¦ °í·ÁÇؼ ±¸ÇöµÈ ºÎºÐÀÌ ¸¹°í, Enter keyÀÇ ÀÔ·ÂÀ̳ª, ¸¶¿ì½ºÀÇ button press·Î packetÀ» Àü¼ÛÇÏ´Â ¿ªÇÒÀ» ´ã´çÇÏ°Ô µÈ´Ù. ¼¹ö·ÎºÎÅÍ ¸Þ½ÃÁö¸¦ °è¼ÓÇؼ ¹Þ¾Æ¾ß Çϱ⠶§¹®¿¡, packetÀ» ¹Þ´Â ºÎºÐÀº ½º·¹µå¸¦ ÅëÇؼ ±¸ÇöÀ» Çß´Ù. ±×·¸°Ô Çؼ broadcating µÇ´Â data µéÀ» °è¼ÓÇؼ ¼ö½ÅÇÒ ¼ö ÀÖµµ·Ï ÇÏ¿´´Ù.
<±×¸² 2-2> äÆà Ŭ¶óÀ̾ðÆ® ±¸Á¶
3. ÇÁ·Î±×·¥ È帧µµ
3.1 äÆà ¼¹öÀÇ ÇÁ·Î±×·¥ È帧µµ
¸ÕÀú, ¼ÒÄÏÀ» ¿ÀÇÂÇÑ ´ÙÀ½, ÆÐŶÀ» ¼ö½ÅÇÑ ÈÄ, ÀÌ ÆÐŶÀÌ Á¾·á¸¦ ¿ä±¸ÇÏ´Â °ÍÀÎÁö¸¦ È®ÀÎÇÏ°í, ±×·¸Áö ¾ÊÀ» °æ¿ì¿¡´Â ÆÐŶÀÇ ¼Ò½º(Ŭ¶óÀ̾ðÆ®)°¡ µî·ÏµÇ¾î ÀÖ´ÂÁö¸¦ È®ÀÎÇؼ ÆÐŶÀ» broadcasting Çϱâ À§ÇÑ µî·ÏÀ» ÇÏ°Ô µÈ´Ù. µî·ÏÀÌ µÇ¾î ÀÖÀ» °æ¿ì´Â ±×´ë·Î ÆÐŶÀ» broadcatingÀ» ÇÏ°í ±×·¸Áö ¾ÊÀº °æ¿ì´Â µî·ÏÀ» ÇÑÈÄ broadcastingÀ» ÇÑ´Ù. ÆÐŶÀÌ Á¾·á¸¦ ¿ä±¸ÇÏ´Â °ÍÀ̾úÀ» °æ¿ì¿¡´Â µî·ÏµÈ ¼Ò½º¸¦ Á¦°ÅÇØÁà¼, Æ÷Æ® ³¶ºñ¸¦ ÇÏÁö ¾Êµµ·Ï ÇÑ´Ù.
3.2 äÆà Ŭ¶óÀ̾ðÆ®ÀÇ ÇÁ·Î±×·¥ È帧µµ
GUI ȯ°æÀ» ±¸ÃàÇϱâ À§ÇÑ setting°úÁ¤À» °ÅÄ£´ÙÀ½¿¡, ¼ö½ÅÀ» Çϱâ À§ÇÑ ½º·¹µå¸¦ È£ÃâÇÏ°Ô µÈ´Ù. ÀÌ ½º·¹µå´Â Ŭ¶óÀ̾ðÆ®·Î µé¾î¿À´Â ÆÐŶÀ» °è¼ÓÇؼ ±â´Ù¸®°í ÀÖ´Ù°¡ µé¾î¿À°Ô µÇ¸é Text Area¿¡ ¸Þ½ÃÁö¸¦ »Ñ¸®°Ô µÈ´Ù. ±×·± ÈÄ, SEND ¹öÆ°À̳ª ¿£ÅÍ Å°°¡ ÀÔ·ÂÀÌ µÉ ¶§±îÁö ±â´Ù·È´Ù°¡ ÀÌ·¯ÇÑ À̺¥Æ®°¡ ¹ß»ýÇÏ°Ô µÇ¸é, Text Field¿¡ ÀÖ´ø µ¥ÀÌÅ͸¦ packetÀ¸·Î ¸¸µé¾î¼ Àü¼ÛÇÏ°Ô µÈ´Ù. Àü¼ÛÇÑ ÈÄ¿¡´Â ´Ù½Ã Å°³ª ¹öÆ°À» ±â´Ù¸®´Â »óÅ·Πµ¹¾Æ°£´Ù.
<±×¸² 3-1> ¼¹ö ÇÁ·Î±×·¥ÀÇ È帧µµ
<±×¸² 3-2> Ŭ¶óÀ̾ðÆ® ÇÁ·Î±×·¥ÀÇ È帧µµ
4. ¼öÇà °á°ú
<±×¸² 4-1> ID ÀÔ·Â ´Ü°èÀÇ ¸ð½À
<±×¸² 4-2> ´ëȽÃÀÇ ¸ð½À
½ÇÇà ¸ð½ÀÀº <±×¸² 4-1>°ú <±×¸² 4-2>¿¡ Àß ³ªÅ¸³ª ÀÖ´Ù.
Ŭ¶óÀ̾ðÆ®°¡ ¶ß°Ô µÇ¸é óÀ½¿¡´Â ID¸¦ µî·ÏÇÏ°Ô µÇ¸ç, ±× ÀÌÈÄ¿¡´Â äÆÃÀ» ÇÒ ¼ö
ÀÖ°Ô µÈ´Ù.
¼¹öÀÇ ¸ð½ÀÀº Ưº°È÷ º¸ÀÌ´Â °ÍÀÌ ¾ø¾î¼ »ý·«À» Çß´Ù.
Âü°í·Î, ¼¹ö´Â java DatagramServer <enter> Çؼ ¶ç¿ì¸é µÇ°í, Ŭ¶óÀ̾ðÆ®´Â
java DatagramClient [IP address] <enter> Çؼ ¶ç¿ì¸é µÈ´Ù.
5. ºÎ·Ï