|
 |
 |
| ¸¶À» °Ô½ÃÆÇ |
µî·ÏµÈ
¸¶À» °Ô½ÃÆÇÀÌ
¾ø½À´Ï´Ù. |
|
|
|
|
 |
|
|
|
|
|
|
[ÆÁ] µ¿±âÈ¿Í ºñµ¿±âÈ ¼ÒÄÏ »ç¿ë½Ã Àå´ÜÁ¡ | WinSock |
2002-11-09 ¿ÀÈÄ 11:23:28 |
|
| ±èÅÂÈÆ
|
¹øÈ£:
5622
/ ÀÐÀ½:6,561 |
// µ¿±âÈ¿Í ºñµ¿±âÈ ¼ÒÄÏ »ç¿ë½Ã À¯ÀÇ »çÇ׿¡ °¡±î¿ïÁöµµ
µ¿±âÈ ¼ÒÄÏÀÇ °æ¿ì´Â ÇÑÂÊÀÌ writeÀÌ¸é ´Ù¸¥ ÇÑÂÊÀº read·Î¼ ´Ù¸¥ ÀÏÇÏÁö¸»°í read´ë¿¡¸¸ ½Å°æ ÁýÁßÇØ¾ß ÇÕ´Ï´Ù. ±×·¡¼ writeÇÏ´Â °÷¿¡¼ ÀڷḦ ´Ù º¸³¾¶§±îÁö readÇÏ´Â ÂÊÀº ´Ù ¹ÞÀ»¶§±îÁö Block(´ÙÀ½ ±¸¹®À¸·Î ³Ñ¾î°¡Áö ¾ÊÀ½) µÇ¾î ÀÖ¾î¾ßÇÏÁÒ. Ŭ¶óÀÌ¾ðÆ® Ãø¿¡¼´Â ´Ù ¹ÞÀ»¶§±îÁö ±â´Ù¸®°í ³ÈÄ ´ÙÀ½ ÀÏÀ» ÇϸéµÇ°ÚÁö¸¸, ¼¹öÃø¿¡¼´Â read¿¡¸¸ ÁýÁßÇÒ ¼ö ¾ø°í ´Ù¸¥ ÀÏÀ» ÇØ¾ßÇÕ´Ï´Ù. Áï ´Ù¸¥ ¿äû¿¡ ´ëÇØ¼ Listenµµ ÇØ¾ßÇϰí, ±âŸ ´Ù¸¥ 󸮵µ ÇØ¾ß°ÚÁö¿ä. ÀÌ·± ÀÌÀ¯·Î ¼¹öÃø¿¡¼´Â Forking(ÀÚ±â ÀÚ½ÅÀ» º¹Á¦ÇÔ)À» Çϵ簡 ThreadingÀ» ÇÏ´ø°¡Çؼ ÇöÀçÀÇ ÀÏÀ» ÇϳªÀÇ Thread(ForkingÀÇ °æ¿ì´Â Process)¿¡°Ô ¸Ã±â°í ´Ù½Ã ¼¹öÀÇ º»ÁúÀûÀÎ ÀÛ¾÷À» ½ÇÇàÇÕ´Ï´Ù. ForkingÀº À¯´Ð½º °è¿¿¡¼ »ç¿ëÇÏ´Â ¹æ¹ýÀ̰í, ThreadingÀº À©µµ¿ìÁî °è¿¿¡¼ »ç¿ëÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù. ´Ü¼ø ¼ºùÀ̳ª ¾ÈÁ¤¼º¿¡ À־ ForkingÀÌ ÁÁÀº ¹æ¹ýÀ̳ª Á¤º¸ ±³È¯(°ÔÀÓ ¼¹öÀÇ °æ¿ì)À» ÇÒ ÀÌÀ¯°¡ ÀÖÀ»¶§´Â ThreadingÀÌ ÈξÀ ³´ÁÒ. ThreadÀÇ °æ¿ì´Â µ¶ÀÚÀûÀ¸·Î ¿òÁ÷À̱â´Â ÇÏÁö¸¸ ÇϳªÀÇ Process³»¿¡ ÀÖ¾î¼ °ø¿ë º¯¼ö¸¦ ¼³Á¤/»ç¿ëÇϱⰡ ½±Áö¿ä. ´Ù¸¸ µ¿±âÈ(ÀÌ µ¿±âÈ´Â Thread µ¿±âȸ¦ ÀÇ¹Ì ÇÔ)¸¦ Àß½ÃÄѾßÇÏÁÒ. Thread-SafeÇÑ °´Ã¼¿¡ ´ëÇØ¼´Â ±»ÀÌ µ¿±âȸ¦ ½Ãų ÇÊ¿ä´Â ¾ø½À´Ï´Ù. ForkÀÇ °æ¿ì¿¡´Â °¢ Process°¡ ´Ù¸¥ ÁÖ¼Ò °ø°£¿¡ Àֱ⶧¹®¿¡ ÀÌ·± ÀÛ¾÷À» À§ÇØ °øÀ¯ ¸Þ¸ð¸®³ª SignalÀ» »ç¿ëÇØ¾ßÇÏÁÒ. »ç¿ëÇÏ´Â°Ô ±×´ÙÁö ¾î·´Áö´Â ¾ÊÁö¸¸ µð¹ö±ëÇÏ´Â °Íµµ ±î´Ù·Ó°í ¿©·¯¸ð·Î ±î´Ù·Ó½À´Ï´Ù.
ºñµ¿±âÈ ¼ÒÄÏÀÇ °æ¿ì´Â ÇÑÂÊÀÌ Write¸¦ Ç졂 ¹» Çϰǰ£¿¡ readÇÏ´Â Âʰú ¹«°üÇÕ´Ï´Ù. Write¸¦ ÇÏ´ÂÂÊÀº ±×³É ¾Ë¾Æ¼ WriteÇÏ°í ¹Þ´Â ÂÊÀº ±×³É ¹Þ´Â´ë·Î readÇÕ´Ï´Ù. ¼ÒÄÏ ¶óÀ̺귯¸®¿¡¼ ¹Þ´Â´ë·Î ÇöÀç±îÁö ¹ÞÀº ÀڷḦ »óÀ§ ÇÁ·Î±×·¥¿¡ event¿Í ÇÔ²² ¾Ë·ÁÁÖÁÒ. ÀÌ·± ÀÌÀ¯´Â ºñµ¿±â ¼ÒÄÏÀº ThreadingÀ» ÇÒ Çʿ䰡 ¾ø½À´Ï´Ù. ¾îÂ¸é ¾ÆÁÖ ÆíÇÏ°Ô º¸ÀÌÁö¿ä. ±×·¯³ª ´ñ°¡°¡ µû¸¨´Ï´Ù. ÇÑÂÊ¿¡¼ ABC1234567890 À̶ó´Â ÀڷḦ ³¯·È´Ù°í Çϸé, ¹Þ´Â ÂÊ¿¡¼´Â ABC1234567890¶ó´Â Data¸¦ event¿Í ÇÔ²² ¹ÞÀ¸¸é ¾Æ¹«·± °í¹ÎÇÒ °Íµµ ¾øÁÒ. ±×·¯³ª Àý´ë ÀÌ°É º¸ÀåÇØÁÖÁö ¾Ê½À´Ï´Ù. ABC1234567890ÀÌ ABC1234 Çѹø Àаí, 567890 ¿ä·¸°Ô Àаí ÇØ¼ µÎ¹ø ÀÐÀ» ¼öµµ ÀÖ°í, ABC1234567890 ´ÙÀ½¿¡ PQR7777À̶ó´Â ÀڷḦ Àì½Î°Ô º¸³Â´Ù¸é, ABC1234567890PQ Àаí, R7777 ÀÌ·¸°Ô ÀÐÀ» ¼öµµ ÀÖ½À´Ï´Ù. ¿Ö ÀÌ·¸°Ô µÇ³ªÇϸé, TCP´Â StreamÀ¸·Î ´Ù·ç¾îÁö¸ç ±× StreamÀÇ ½ºÄÉÁÙÀº ÀüÀûÀ¸·Î TCP¸¦ °üÀåÇÏ´Â ¼ÒÄÏ ¶óÀ̺귯¸®°¡ Çϱ⶧¹®ÀÔ´Ï´Ù. ±×·¸´Ù¸é ÀÌ·¸°Ô ÀÐÀº ÀڷḦ ½á¸Ô±âÀ§Çؼ´Â ÀÐÀº ÀڷḦ ¼ø¼´ë·Î ÀúÀåÇÏ¿© ¸ðÀºÈÄ ´Ù½Ã ParsingÀ» ÇØ¾ßÇÏÁÒ. Áï parsingÀ» ÇϱâÀ§ÇÑ °£´ÜÇÑ ÇÁ·ÎÅäÄÝÀ» »ç¿ëÀÚ°¡ ´Ù½Ã ¸¸µé¾î¼ »ç¿ëÇØ¾ß Çϴ°̴ϴÙ. ±×·¯³ª Á» ÇÏ´Ùº¸¸é parsingÀ» ÇÏ´Â °Íµµ ±×´ÙÁö ¾î·ÆÁö ¾Ê´Ù´Â°É ¾Ë°ÔµÉ°Ì´Ï´Ù. [Å©±â][Å©±â¸¸ÅÀÇÀÚ·á][Å©±â][Å©±â¸¸ÅÀÇÀÚ·á]... ÀÌ·¸°Ô ¹Ýº¹ÀûÀ¸·Î ÀڷḦ ±¸¼ºÇÏ¸é °£´ÜÇØÁý´Ï´Ù. ±×¸®°í ¸¸¾à ºñµ¿±â ¼ÒÄÏÀ» »ç¿ëÇÏ°íµµ ÇÑÂÊ¿¡¼ ABC1234567890¸¦ º¸³»¸é ¹Þ´ÂÂʵµ ABC1234567890¸¦ Ç×»ó ¹ÞÀ»°Å¶ó°í »ý°¢Çϰí ÄÚµùÇÑ ÇÁ·Î±×·¥ÀÌ ÀÖ´Ù¸é ±×°Ç ¼ÕÀ» ¾ÆÁÖ ¸¹ÀÌ ºÁ¾ßÇÕ´Ï´Ù. "µ¿±âÈ ¼ÒÄÏ+Threading"°ú "ºñµ¿±âÈ ¼ÒÄÏ"Àº ¸ðµÎ Àå´ÜÁ¡À» °¡Áö°í ÀÖÁö¸¸ TCPÀÇ µ¿±âÈ¿Í ºñµ¿±âÈ ÀÛµ¿ ¿ø¸®¿¡ ´ëÇÑ ¿Ïº®ÇÑ ÀÌÇØ°¡ ¾ø´Ù¸é "µ¿±âÈ ¼ÒÄÏ+Threading"¸¦ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù. "ºñµ¿±âÈ ¼ÒÄÏ"Àº À§¿¡¼ ¸»Çß´Ù½ÃÇÇ ÀÚ·á ÀçÁ¶ÇÕ°úÁ¤°ú ÇÁ·ÎÅäÄÝ ÆÄ½Ì °úÁ¤ÀÌ ÇÊ¿äÇϸç, Ŭ¶óÀÌ¾ðÆ®°¡ n¸íÀ̶ó¸é n°³°¡ ÇÊ¿äÇÏ°Ô µË´Ï´Ù. ÀÌ·±°Å ¹°·Ð ¸¸µé¸éµÇÁö¸¸ ¾È¸¸µå´Ï±î ¹®Á¦°¡ µÇÁÒ. À̰͸¸ Á¦´ë·Î ¸¸µé°í »ç¿ëÇÑ´Ù¸é, SerializationÀ̳ª Data-Binding¿¡¼ µ¿±âÈ ¹æ½Äº¸´Ù ÈξÀ³ªÀº ¼º´É°ú È;À ±ò²ûÇÑ ÄÚµù º¹Àâµµ°¡ ³ª¿À°Ô µË´Ï´Ù.
"µ¿±âÈ ¼ÒÄÏ+Threading"Àº SerializationÀ̳ª Data-BindingÀÌ Á» ±î´Ù·Ó°í, Thread µ¿±âȵµ ÀßÇØ¾ßÇϴµ¥ ÀÌ°É Àß ¸øÇÏ´Â »ç¶÷µµ ²Ï ¸¹½À´Ï´Ù. ¿Ø¸¸ÇÑ °´Ã¼°¡ Thread-Safe ÇҰŶó°í »ý°¢ÇÏ´Â °Íµµ ¹®Á¦ÁÒ. Thread-SafeÇÏÁö ¾ÊÀº °ÍÀº ¹Ýµå½Ã Critical-Section¿¡¼ ó¸®ÇØ¾ß ÇÏÁÒ. Thread°¡ AccessÇÏ´Â º¯¼ö°¡ Çѵΰ³ ¾Æ´Ï¶ó¸é ¿©·¯ Critical-SectionÀÌ °ãÄ¡´Â ¹®Á¦µµ ³ª¿À°í DeadlockµÇ´Â »óȲµµ ÀϾÁÒ.
°æÇè¿¡ ÀÇÇÏ¸é ºÃÀ»¶§ µéÀÌ´Â ³ë·Â°ú º¹Àâµµ°¡ ºñ½ÁÇÑ°Í °°±º¿ä. µÑÀº ¸¸µé°íÀÚ ÇÏ´Â°Ô ¹ºÁö¿¡ µû¶ó¼ Àå´ÜÁ¡ÀÌ ´õ È®¿¬È÷ µå·¯³³´Ï´Ù.
ÆÄÀÏ Àü¼ÛÀÇ °æ¿ì¿¡´Â "µ¿±âÈ ¼ÒÄÏ+Threading" ¹æ¹ýÀÌ ÄÚµùÇϱ⵵ °£´ÜÇϰí, ¾ÈÁ¤¼ºµµ ÁÁ°í ¼Óµµµµ ÁÁ½À´Ï´Ù. ÀÌ°É "ºñµ¿±âÈ ¼ÒÄÏ"À¸·Î ±¸ÇöÇØ¼ Å×½ºÆ® ÇØºÃ´Âµ¥, ÆÄ½ÌÇϴµ¥ µå´Â ¾à°£ÀÇ ¿À¹öÇØµå¸¦ °í·ÁÇØµµ ¼Óµµ°¡ ´À¸®Áö´Â ¾Ê½À´Ï´Ù. ´Ù¸¸ ¸¸µé±â ¾ÆÁÖ ¾î·Æ½À´Ï´Ù. ºñµ¿±âÀÇ °æ¿ì¿¡´Â ´ë¿ë·® ÆÄÀÏÀÇ °æ¿ì¿¡´Â Flow-Controlµµ ÇØÁÖ¾î¾ß Çϱ⶧¹®¿¡ ´õ ¸¸µé±â ¾î·ÆÁÒ. TCPÀε¥ ¹«½¼ Flow-ControlÀ» ÇØÁà¾ß Çϳª¶ó°í »ý°¢ÇҺРÀÖÀ»°Ì´Ï´Ù. ±×·¯³ª ÇØº¸¸é ¾Ë°ÚÁö¸¸ Write ÇÏ´Â ÂÊ¿¡¼ ¹Þ´ÂÂÊ ½Å°æ¾È¾²°í ¹«ÀÛÁ¤ WriteÇÏ¸é ¼Û½Å Overflow°¡ ¹ß»ýÇØ¼ ÀÚ·á ´Ù³¯¶ó°©´Ï´Ù. À̰ÍÀº ºñµ¿±â ¼ÒÄÏÀÇ ¶Ç ´Ù¸¥ ´ÜÁ¡À̱⵵ ÇÏÁÒ.
äÆÃÀÇ °æ¿ì "µ¿±âÈ ¼ÒÄÏ+Threading"ÀÌ °£´ÜÇÏ¸ç ¹¹ ´Þ¸® Ãß°¡·Î ÇØÁÙ °Íµµ ¾ø¾î¼ ÁÁ½À´Ï´Ù. "ºñµ¿±âÈ ¼ÒÄÏ"ÀÇ °æ¿ì¿¡´Â ¿©ÀüÈ÷ Àß Àß¶ó³»±âÀ§ÇÑ ÆÄ½ÌÀÌ ÇÊ¿äÇÕ´Ï´Ù. Á¦°¡ ¸¸µç '´Ù±â´É äÆÃ'ÀÇ °æ¿ì¿¡´Â "ºñµ¿±âÈ ¼ÒÄÏ"À» »ç¿ëÇÕ´Ï´Ù. Âü°í·Î Text ±â¹Ý ÇÁ·ÎÅäÄÝÀÇ °æ¿ì¶ó¸é Delimiter¸¦ »ç¿ëÇÏ¸é °£´Ü ¸í·áÇÏ°Ô ÇÁ·ÎÅäÄÝ ¸¸µé ¼ö ÀÖ½À´Ï´Ù. äÆÃÀÇ °æ¿ì Text ±â¹Ý ÇÁ·ÎÅäÄÝ·Î ±¸¼ºÇϸéµÇ°ÚÁÒ. Âü°í·Î ÆÄÀÏ Àü¼ÛÀÇ °æ¿ì´Â ÀÌÁø ÀڷḦ ´Ù·ç¹Ç·Î Delimiter¸¦ »ç¿ëÇÏ´Â°Ç ºÒ°¡´ÉÇÕ´Ï´Ù.
°ÔÀÓÀÇ °æ¿ì´Â °ÔÀÓÀÇ Á¾·ù¿¡ µû¶ó ´Þ¶óÁö´Âµ¥, º¸µå °ÔÀÓ·ù°°Àº °æ¿ì´Â ´ÜÁö Á¤º¸¸¦ ¾Ë·ÁÁÖ¸é µÇ¹Ç·Î Ã¤ÆÃÀÇ ¿¬¼Ó¼±»ó¿¡ ÀÖ´Ù°í º¼¼ö ÀÖÁö¸¸ MUG ÇüÀÇ °æ¿ì´Â Á¢¼ÓÀÚ°£¿¡ ¼¹ö³»ÀÇ °¡»ó »çȸ¿¡¼ÀÇ InteractionÀÌ ÇÊ¿äÇÏ°Ô µÇ¹Ç·Î "µ¿±âÈ ¼ÒÄÏ+Threading"À» ÇØ¾ßÇÕ´Ï´Ù.
°á·ÐÀº ºñµ¿±â ¼ÒÄÏÀº äÆÃ°ú º¸µå °ÔÀÓ·ù ÇÁ·ÎÅäÄÝ¿¡ Àß ¸Â´Ù´Â°Ì´Ï´Ù. ±×¿Ü¿¡´Â Á¦°¡ ´Þ¸® ¸»ÇÏÁö ¾Ê¾Æµµ Çö½ÇÀûÀ¸·Î °ÅÀÇ ´ëºÎºÐ "µ¿±âÈ ¼ÒÄÏ+Threading"À» »ç¿ëÇÕ´Ï´Ù.
|
|
|
|
|
|
|
|
- ±×·¸±º¿ä..Á¤¸» °¨»çÇÕ´Ï´Ù~ ^^

- ºñµ¿±â ¼ÒÄÏ¿¡¼ Àü¼ÛÈÄ ¹Ýµå½Ã Ã¤Å©ÇØ¾ß ÇҺκÐÀÌ ¾ó¸¶ Àü¼ÛÇß°í ¶Ç Àü¼ÛÇÏÁö ¸øÇÏ¿´³ª ÀÔ´Ï´Ù.

- ÀÌ°É Ã¤Å© ¾ÈÇÏ½Ã¸é ´ÔÀÌ ¸»¾¸ÇϽŴ °Í°ú°°ÀÌ overflow°¡ ¹ß»ýÇÏÁÒ

- ÀÌ°Ç ºñµ¿±â ¼ÒÄÏÀÌ À߸øµÈ°ÍÀÌ ¾Æ´Ï¶ó ºñµ¿±â ¼ÒÄÏÀ» »ç¿ëÇÏ´Â »ç¿ëÀÚÀÇ Ã¥ÀÓÀÌÁÒ.

- ±×¸®°í ¼¹ö¿¡¼ µ¿±âȼÒÄÏ+threadingÀ» »ç¿ëÇϸé È¿À²¼ºÀÌ ÀÖÀ»±î¿ä?

- threading 1¸¸°³¸¸ »ý¼ºÇصµ context switchingÇϴµ¥ cpu°¡ Á߳뵿 ÇÒ°Å °°Àºµ¥¿ä

- ÀçÁ¶ÇÕ °úÁ¤ÀÌ ÇÊ¿äÇÏ´Ù°í ¸»Çß°í, Flow-ControlÀ» ÇØÁà¾ß ÇÑ´Ù¶ó´Â°É ±»ÀÌ "ºñµ¿±â¼ÒÄÏÀÌ À߸øµÈ°Å´Ù"

- ¶ó°í ¹Þ¾Æ µéÀ̽ô ÀÌÀ¯°¡ ¹ºÁö., °©ÀÚ±â È¿À²¼º ¹®Á¦¸¦ Á¦±âÇÏ´Â ÀÌÀ¯´Â ¹ºÁö?

- Á¤¼°¡ ºÒ¾ÈÇѰÇÁö..

- Thread 1¸¸°³¶ó´Â ¶×´ÜÁö °°Àº ½Ã³ª¸®¿À¶ó¸é, 1¸¸°³ÀÇ Á¢¼Ó¿¡ ´ëÇÑ Select¶ó¸é ´ë¾ÈÀÌ µÇ´Â°ÇÁö?

- ¹Ø¿¡¼ 3¹øÂ°ÁÙº¸¸é "µ¿±âȼÒÄÏ+threading"À̶ó°í ¾´ºÎºÐÀÌ ¼ÒÄÏÇϳª¿¡ThreadÇϳª¶ó´Â ¿¹±â ¾Æ´Ñ°¡¿ä

- ±×·¡¼ 1¸¸¸íÀÌ µ¿½ÃÁ¢¼ÓÇÏ´Â ¼¹öÀϰæ¿ì ´ÔÀÇ ÁÖÀå´ë·Î¶ó¸é thread1¸¸°³¸¦ »ý¼ºÇØ¾ß ÇÒ²¨ °°Àºµ¥¿ä

- ±×¸®°í selectÇϴ¼ø°£ ÀÌ°Ç ºñµ¿±â ¼ÒÄÏÀÌ ¾Æ´Ñ°¡¿ä

- Á¤¼°¡ ºÒ¾ÈÇÏ´Ù... ¤» ´ÔÀÇ ¿¹±â¿¡ ¹Ý·ÐÀ» Àç±âÇÏ¸é ¹«Á¶°Ç Á¤¼°¡ ºÒ¾ÈÇѰÇÁö

- ´õ ¸»ÇغÁ¾ß ¼Ò¿ë¾ø°ÚÀ½, ¸îÀÏÀÌ Áö³ÈÄ µÇ°Ô ÇÒÀÏÀÌ ¾ø´Ù ½ÍÀ»¶§ Á¦°¡ ¾´ ±Û°ú ´ÔÀÌ ¾´±ÛÀ» ´Ù½Ã ÀÐ¾î º¸¼¼¿ä

- ¾Æ¸¶ ±×¶§´Â Áö±Ýº¸´Ù´Â ³ªÀ» °Í °°±º¿ä.

- ÀÚ½ÅÀÌ À߸ø¾Ë°í ÀÖ´Â Áö½ÄÀ» ³Ê¹« ±»°Ô ¹Ï°í °è½Ã´Â°Å °°±º¿ä

- ³»³âÁ¤µµ¿¡ ´ÔÀÌ ¾´±ÛÀ» ´Ù½Ã Çѹø ÀÐ¾î º¸¼¼¿ä. ±×·³ ±×¶§Âë Á¦¸»À» ÀÌÇØÇϽǰ̴ϴÙ.

- ¿©±â¼ À߸øµÈ Áö½ÄÀ̶õ ´Ô ±ÛÀÌ Æ²·È´Ù´Â ¿¹±â°¡ ¾Æ´Ï¶ó ±»ÀÌ È¿À²¼ºÀÌ ¶³¾îÁö´Â ¹æ½ÄÀ» ¾²³Ä´Â °Ì´Ï´Ù.

- ¿ÖÀÌ·¸°Ô ÇÑÁÙ¿¡ ´Ù¾²¼Ì³ª¿ä ÀÐÀ¸·Á´Ï ´«¾ËÀÌ ºù±Ûºù±Û -_-

|
|
|
|
µ¦½ºÆÛÆ®(dExpert)
|
|
 |
|
|
9,000¿ø |
|
|
|
15,000¿ø |
|
|
|
15,000¿ø |
|
|
|
15,000¿ø |
|
|
|
10,000¿ø |
|
|
|
5,000¿ø |
|
|
|
15,000¿ø |
|
|
 |
|
|
3,000¿ø |
|
|
|
50,000¿ø |
|
|
|
3,000¿ø |
|
|
|
3,000¿ø |
|
|
|
9,000¿ø |
|
|
|
10,000¿ø |
|
|
|
10,000¿ø |
|
|
|
|
|
|
|
|
|