¾È³çÇϼ¼¿©...
¼ÒÄÏ ÇùÖÀ» Çϴµ¥..
ÀÏ´Ü ¿¬°áÀº Àß µÆ±¸¿©..
¿¬°áµÈ ´ÙÀ½¿¡ ¹Ù·Î FD_WRITEµµ Àß ¹Þ¾Ò½À´Ï´Ù.
ù¹øÂ° FD_WRITE¿¡¼´Â ¾Æ¹« Àϵµ ¾ÈÇÏ°í ³Ñ¾î°¡±¸¿ä.
±×·±µ¥ ¹®Á¦´Â ´ÙÀ½ FD_WRITE°¡ ¿ÀÁú ¾Ê°í...
°è¼Ó ŸÀӾƿô¸¸ ³ª¿À´Âµ¥...
¹«½¼ ¹®Á¦Àϱî¿ä?
FD_WRITE¿Í ¸ðµç FD_½Ã¸®Áî´Â
´ÙÀ½ À̺¥Æ®¸¦ ¹ß»ýÄÉ ÇÏ´Â ÇÔ¼ö°¡ ÀÖ½À´Ï´Ù.
Áï,
FD_READ¿¡ ´ëÇØ¼´Â Recv°ü·Ã ÇÔ¼ö(recv, recvfrom...)
µîÀ», FD_WRITE´Â Write°ü·Ã ÇÔ¼ö¸¦ È£ÃâÇØ¾ß ÇÕ´Ï´Ù.
FD_WRITE°¡ ¹ß»ýÇßÀ»¶§, ¼ÒÄÏ¿¡ µ¥ÀÌŸ¸¦ ½áÁÖ¾î¾ß
´ÙÀ½ Event°¡ ¹ß»ýÇÑ´Ù°í ÇÛÇÁ¿¡ ³ª¿À´Â°Å °°³×¿©.
¾Æ±Ã..
Áú¹®¿¡ ´ëÇÑ ´ë´äÀÌ ¸Â´ÂÁö ¸ð¸¦°Ú¾î¿ä.
¸¶¼Ò´Â ¿Ö »õ·Î¿î ±â´ÉÀ» Ãß°¡ÇÏ¿© ³» ¸Ó¸®¸¦ ÀÌ·¸°Ô ¾ÆÇÁ°Ô Çұ.
Á¦ ¹®Á¦µµ ´©°¡ Ç®¾îÁÖ¼¼¿©..
¾È³çÇϼ¼¿ä...
¾î¼¸é Àú¶û ¶È°°Àº »ý°¢À» Çϼ̴ÂÁö ±Ã±ÝÇϱº¿ä.... Çæ...-__-;;
ÀÏ´Ü Àú °°Àº °æ¿ì´Â... ÀÏÁ¤·®ÀÇ ¼ÒÄϵéÀ» ÇÑ ¾²·¹µå¿¡¼ °ü¸®Çϱ¸¿ä
ÀÌ·± ¾²·¹µå°¡ ¿©·µ ÀÖ´Â ¹æ½ÄÀ» ¾µ·Á°í ÇÕ´Ï´Ù...
¾ÆÁ÷ Å×½ºÆ® ÁßÀÌÁÒ...
¼ÒÄÏ¿¡ °ü·ÃµÈ ¸ðµç µ¥ÀÌÅͳª ÇÔ¼ö´Â Ŭ·¡½º·Î ¹¾î¼
¸®½¼ ¾²·¹µå°¡ ÀÔ·ÂÀ» °¨½Ã... ¿¬°áµÇ¸é µ¿ÀûÀ¸·Î °´Ã¼¸¦ »ý¼ºÇؼ
´ÙÀ½ ¾²·¹µå°¡ °ü¸®ÇÏ´Â ¼ÒÄÏ ¸®½ºÆ®¿¡ ³Ö±¸¿ä..
½ÇÁ¦ ÀÔÃâ·ÂÀ» ´ã´çÇÏ´Â ÀÌ ¾²·¹µå¿¡¼´Â ¸®½ºÆ®¸¦ Çϳª¾¿
¼øÈ¸ÇÏ¸é¼ ÇØ´ç ¼ÒÄÏ °´Ã¼¿¡ ´ëÇØ waiteventÇØ¼
ÀÔ·ÂÀ̳ª Ãâ·Â »çÇ×ÀÌ ÀÖÀ½ ó¸®ÇÏ´Â °ÅÁÒ..
¹°·Ð °¢°¢ÀÇ ¼ÒÄÏ °´Ã¼´Â ÀÔÃâ·ÂÀ» À§ÇÑ Å¥¸¦ °®´Â ±¸Á¶ÀÔ´Ï´Ù...
ÀÌÁ¦ Á¦ Áú¹®Àä...
´ÙÀ½ fd_write°¡ ¹ß»ýÇÏ·Á¸é, send() ÇÔ¼ö ºÎ·ù¸¦ ºÒ·¯¾ß µÈ´Ù°í¿ä?
¸¸¾à º¸³¾ ÀÚ·á°¡ ¾øÀ½ ¾î¶±ÇÏÁÒ?
fd_writeÀÇ °æ¿ì º¸³¾ Áغñ°¡ µÇ¾î ÀÖ´Ù´Â °Í»ÓÀε¥..
º¸³¾ Áغñ´Â µÇ¾úÁö¸¸, º¸³¾ µ¥ÀÌÅͰ¡ ¾ø´Ù¸é, ????
¼·Î µµ¿òÀÌ µÇ¾úÀ½ ÁÁ°Ú±º¿ä..±×·³ À̸¸.
¾È³çÇϼ¼¿ä..
ÇØºÃ´Âµ¥.... °¡±ä °¡´Â±º¿ä.
±×·± ´ÙÀ½¿¡´Â.... ´Ù½Ã FD_WRITE°¡ ¿ÀÁú ¾Ê±¸¿ä....¿¡±Ã..
WSAEWOULDBLOCKÀÌ ³ª¼ ¿¡·¯·Î ³¡³ª¾ß ´Ù½Ã ³ª¿À´Â °Å °°Àºµ¥..
¾î¶»°Ô ÇØ¾ß ³¯±î¿ä?? -_____________________-;;
¾È³çÇϼ¼¿ä..
Àúµµ ºñ½ÁÇÑ ¹æÇâÀ¸·Î »ý°¢À» ÇÏ´Ù°¡..
È¿À²ÀÌ ¶³¾îÁú°Å °°¾Æ¼ ¿ì¹°ÂÞ¹° Çϰí ÀÖ½À´Ï´Ù.
ÀÏ´Ü FD_WRITE ¿¡ ´ëÇÑ ÀúÀÇ »ý°¢À» ¸»¾¸ µå¸®ÁÒ.
FD_WRITEÀÇ À̺¥Æ®°¡ ¹ß»ýÇÏ·Á¸é EventSelect¸¦ ÇØ¾ßÇϱ¸¿ä.
ÀÌ°Ç µ¥ÀÌŸ¸¦ º¸³»·Á°í ÇÒ¶§ ¼³Á¤ÇÏ°Ô µÇ´Â °ÅÁÒ.
¼ÒÄÏÀ̶õ ¾ç ³¡´ÜÀÌ Á¸ÀçÇÏ¿© »ó´ë¹æÀÌ Recv¸¦ ÇÏ¿©¾ß
°è¼ÓÇÏ¿© Send¸¦ ÇÒ¼ö ÀÖ½À´Ï´Ù. ¹öÆÛÇѰ趫ÀÌÁÒ.
¼ÒÄϹöÆÛ´Â Á¤»óÀûÀÎÀÌ»ó(»ó´ë¹æÀÌ Á¤»óÀ̶ó¸é °è¼Ó
µ¥ÀÌŸ¸¦ ÀаÚÁÒ?)FD_WRITE °¡ °è¼Ó ¹ß»ýÇϰÚÁÒ.
ÀÌ·± Ư¼º¶§¹®¿¡, ÇϳªÀÇ ¼ÒÄÏ¿¡ ´ëÇØ¼
FD_READ¿Í FD_CLOSE´Â Ç×»ó ¼³Á¤µÇ¾î ÀÖ¾î¾ß Çϰí,
FD_WRITE´Â º¸³¾ µ¥ÀÌŸ°¡ ÀÖÀ»¶§¸¸ Çѹø¼³Á¤Çϴ°̴ϴÙ.
°á·ÐÀûÀ¸·Î,
FD_WRITE¸¦ ´õ ¹Þ°í ½Í´Ù¸é,
WSASelectEvent¸¦ FD_WRITE·Î ¼³Á¤ÇÏ¿©¾ß Çϰí,
´õº¸³¾ µ¥ÀÌŸ°¡ ¾ø´Ù¸é ±âº»¼³Á¤(FD_READ, FD_CLOSE)À¸·Î
ÇØ³õ¾Æ¾ß ÇÏÁÒ.
ÀÌÁ¦ ±Ã±ÝÇÑÁ¡À» ¹°¾îº¼²²¿ä.
Àú´Â ¿©Å²¯ WSAAsyncSelect¸¦ »ç¿ëÇÏ¿© ¸Þ¼¼Áö 󸮸¦ ÇØ
¿Ô½À´Ï´Ù. ±×·¯´Ù ¸ÖƼ ¾²·¹µå¸¦ °í·ÁÇÏ¿© ¶óÀ̺귯¸®¸¦
À籸¼ºÇÏ·Á ÇÏ¿© WSAEventSelect±¸Á¶·Î ¹Ù²Ù·Á´Â Áß¿¡..
WSAEventSelect´Â (¾Æ±Ã,, À§¿¡ WSASelectEvent´Â Ʋ¸°°Å³×¿©)
À̺¥Æ® ¹ß»ý½Ã ¾î´À ¼ÒÄÏ¿¡¼ ¹ß»ýÇÑ À̺¥Æ®ÀÎÁö ¾Ë¼ö ¾ø´Ù´Â
¹®Á¦°¡ »ý±ä°Ì´Ï´Ù.
Áï ¸®½¼¼ÒÄÏ¿¡¼ 1000°³ÀÇ Child terminal¼ÒÄÏÀ» »ý¼ºÇÏ¿©
°ü¸® ÇÏ´Â °æ¿ìÀÇ Select½Ã FD_READ? ¹ß»ýÇÑ´Ù¸é
1000°³ÀÇ ¼ÒÄÏÀ» ÀüºÎ EnumNetworkEventÇÏ¿© Á¶»çÇØ¾ß ÇÏÀݾƿ©?
¾î¶² ¾Ö°¡ À̺¥Æ®¸¦ ¹ß»ý½ÃÄ×´ÂÁö¿¡ ´ëÇØ¼¿ä.
¹°·Ð ¾²·¹µåÀÇ ¼ö°¡ ¼ÒÄϼö¿Í °°´Ù¸é ¹®Á¦ ¾øÁö¸¸.
¾²·¹µå Çϳª´ç ¼ÒÄÏ 20°³ Á¤µµ¿¡ ´ëÀÀ½ÃÄѵµ ¸¶Âù°¡Áö·Î
ÃÖ´ë 20¹øÀÇ EnumNetworkEventÀÇ È£ÃâÀº ºÒ°¡ÇÏ´Ù´Â ¾ê±âÁÒ.
ÇÇ
ÀÌ°Ç ¸Þ¼¼Áö ¹æ½Ä¿¡ ºñÇØ ³Ê¹« ºÒÇÕ¸®ÇÑ ¹æ¹ýÀ̶ó°í »ý°¢ÀÌ
µé¾î¼¿ä.
±ò²ûÇÑ ¼ÒÄÏ2¹æ½ÄÀÇ ¸ÖƼ¾²·¹µå Ŭ·¡½º¸¦ »ý¼ºÇÏ·Á´Ù
¿À¹öÇìµå°¡ »ý°¢º¸´Ù Å©±º¿ä.
ÃÖÀÎÈ£´ÔÀº ¾î¶»°Ô ÇØ°áÇÏ·Á´Â »ý°¢À̽ÅÁö ±Ã±ÝÇÕ´Ï´Ù.
±×·³ Á¶¾ð ºÎŹÇÕ´Ï´Ù.
¾È³çÇϼ¼¿ä....
¸ÕÀú Á¦°¡ »ý°¢ÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¼³¸íÀ» µå¸®ÁÒ.
Èì.. Á¦°¡ »ý°¢ÇÏ´Â ¹æ¹ýÀº...
WSAEventSelect(s1, event1, FD_~~~~~);
WSAEventSelect(s2, event2, FD_~~~~~);
~~
WSAEventSelect(sn, eventn, FD_~~~~~);
À§ÀÇ ¹®ÀåÀÌ °¡´ÉÇÏ´Ù´Â °¡Á¤ÀÌ µÇ¾î¾ß ÇÕ´Ï´Ù.
WSAEventSelect()ÀÇ °æ¿ì ÇÑ ¼ÒÄÏ¿¡ ´ëÇØ µÎ°³ÀÇ À̺¥Æ®·Î
´Ù¸¥ ³×Æ®¿öÅ© À̺¥Æ®¸¦ °¨½ÃÇÏ´Â °ÍÀÌ ºÒ°¡´ÉÇÕ´Ï´Ù.
ÇÏÁö¸¸, ´Ù¸¥ ¼ÒÄÏÀÎ °æ¿ì´Â ´ç¿¬È÷~(?) »ó°ü¾ø´Ù°í »ý°¢....
¾ÆÁ÷ Å×½ºÆ®¸¦ ÇØº¸Áö ¸øÇß¼ ¹¹¶ó ¸»¾¸ µå¸± ¼ö´Â ¾øÁö¸¸..
±×·³ º»°ÝÀûÀ¸·Î ¼³¸íÀ» µå¸®ÁÒ.
Á¦°¡ »ý°¢ÇÏ´Â °ÍÀº ÇϳªÀÇ ¸®½¼ ¾²·¹µå¿Í ´Ù¼öÀÇ ÀÛ¾÷ ó¸®
¾²·¹µå·Î ±¸¼ºµË´Ï´Ù.
¸®½¼ ¾²·¹µå¿¡¼´Â ¿¬°áÀÌ Çã¿ëµÇ¾úÀ» ¶§, ¼ÒÄÏ °´Ã¼¸¦ µ¿ÀûÀ¸·Î
»ý¼ºÇÕ´Ï´Ù. ¼ÒÄÏ °´Ã¼¿¡´Â ¼ÒÄϵð½ºÅ©¸³ÅÍ, À̺¥Æ®ÇÚµé, ¼Û½Å Å¥, ¼ö½Å Å¥,
±âŸ ¸â¹ö º¯¼ö¿Í WSAWaitMultipleEventSelect()ÇÔ¼ö¸¦ È£ÃâÇÏ´Â ¸â¹ö ÇÔ¼ö¿Í
±âŸ ¸â¹ö ÇÔ¼öµéÀ» °®½À´Ï´Ù.
°´Ã¼¸¦ »ý¼ºÇϸé, °¢ ÀÛ¾÷ ¾²·¹µå Áß¿¡ Çϳª¸¦ ¼±ÅÃÇÏ°Ô µÇ°í, ÀÌ ÀÛ¾÷ ¾²·¹µå°¡
°ü¸®ÇÏ´Â ¼ÒÄÏ Å¬·¡½º Æ÷ÀÎÅÍ ¸®½ºÆ®¿¡ ¼ÒÄÏ °´Ã¼ÀÇ Æ÷ÀÎÅ͸¦ Ãß°¡ÇÕ´Ï´Ù.
ÀÌ·¸°Ô ¸®½¼ ¾²·¹µåÀÇ ÀÛ¾÷Àº ³¡À̱¸¿ä..
ÀÌÁ¦ °¢ ÀÛ¾÷ ½º·¹µå¸¦ º¸¸é..
¸®½ºÆ®¸¦ ¼øÈ¸ÇÏ¸é¼ Ã³¸®ÇÏ°Ô µÇ¾îÀÖ½À´Ï´Ù.
¸®½ºÆ®ÀÇ Çìµå³ëµåºÎÅÍ µÚÁ®¼ ÇØ´ç ³ëµåÀÇ ¼ÒÄÏ °´Ã¼ Æ÷ÀÎÅ͸¦ ã¾Æ,
¼ÒÄÏ °´Ã¼ÀÇ WaitEvent ÇÔ¼ö¸¦ ºÎ¸¨´Ï´Ù. ¿©±â¿¡¼ ¸ðµç ¼ÒÄÏ ÀÛ¾÷ÀÌ
ÀÌ·ç¾î Áý´Ï´Ù. ¼Û½ÅÇÒ °ÍÀÌ ÀÖÀ¸¸é, ¼Û½Å Å¥¿¡¸¸ ³Ö¾îÁÖ¸é, fd_write°¡ ¹ß»ýÇßÀ»
¶§
,
¼Û½Å Å¥¸¦ µÚÁ®¼ º¸³¾ ¸Þ½ÃÁö°¡ Á¸ÀçÇÏ¸é ¼Û½ÅÇϰí, ¹ÞÀº ¸Þ½ÃÁö´Â ¼ö½Å Å¥¿¡
³Ö¾î
ÁÖ°í
À©µµ¿ì¿¡ À©µµ¸Þ½ÃÁö¸¦ º¸³»¸é, ¸ÞÀξîÇø®ÄÉÀÌ¼Ç ¾²·¹µå°¡ Àоî¿À´Â ¹æ¹ýÀÌÁÒ.
Áï, ÇϳªÀÇ WSAEventSelect() ÇÔ¼ö´Â ÇϳªÀÇ ¼ÒÄϰú¸¸ ¸ÅÄ¡µÇ´Â °ÍÀÌÁÒ.
ÀÌÁ¦ °£´ÜÈ÷ Á¦ ¼³¸íÀ» ¸¶Ãƴµ¥¿ä...
ÀÌÁ¦ ´Ù½Ã Á¦°¡ Áú¹®ÇÒ Â÷·Ê±º¿ä... ^^;
Áö±Ý ¹®Á¦°¡ µÇ´Â °ÍÀÌ.... Ŭ¶óÀ̾ðÆ®ÀÇ °æ¿ì, ¿¬°áÀÌ µÊ°ú µ¿½Ã¿¡
fd_write°¡ ¹ß»ýÇÏ´Â µ¥, Áö±ÝÀ¸·Î¼´Â ¼Û½Å Å¥¿¡ º¸³¾ ¸Þ½ÃÁö°¡ ¾øÀ¸¹Ç·Î,
¾Æ¹«·± 󸮵µ ¾ÈÇÏ°í ³Ñ¾î°©´Ï´Ù. ±×·± ´ÙÀ½ ¼Û½Å Å¥¿¡ ¸Þ½ÃÁö¸¦ ³Ö¾î Á൵,
fd_write°¡ ¹ß»ýÇÏÁö ¾Ê±â ¶§¹®¿¡ ¼Û½ÅÀÌ ¾ÈµÈ´Ù´Â °ÍÀÌÁÒ...-__-;;
¸»¾¸µè°í, ¸Þ½ÃÁö°¡ ¾ø¾îµµ WSASend¸¦ È£ÃâÇØ¼ 0¹ÙÀÌÆ®¸¦ ¼Û½ÅÇߴµ¥µµ,
¹ß»ýÇÏÁö ¾Ê´õ±º¿ä...-_-''
¸¸¾à, WSAEventSelect·Î fd_write¸¦ »°´Ù°¡ ´Ù½Ã ³ÖÀ¸¸é, fd_write°¡ ¹ß»ýÇÒ
񌨄?
Èì....
¶Ç ¸ð¸£´Â °ÍÀÌ ÀÖÀ½ Áú¹®ÇϰڽÀ´Ï´Ù...
±×·³ ¼ö°íÇϼ¼¿ä..
ÀÏ´Ü ´äº¯ºÎÅÍ..
¾î¶² ¼ÒÄÏ¿¡ µ¥ÀÌŸ¸¦ º¸³»·Á ÇÒ¶§ Å¥¿¡´Ù°¡ µ¥ÀÌŸ¸¦ ³Ö´Â´Ù°í
ÇßÁÒ.. À̶§ ±× ¼ÒÄÏ¿¡ WSAEventSelect(sx, eventx, FD_WRITE);
·Î ¼³Á¤À» µ¿½Ã¿¡ ÇØÁÝ´Ï´Ù.
±×·³.. À̺¥Æ®°¡ ¹ß»ýÇÏ¸é¼ FD_WRITE°¡ ¹ß»ýÇÏÁÒ.
Áï ÇϳªÀÇ WSAEventSelect()¿¡ ´ëÇØ ÇѹøÀÇ FD_WRITE°¡ ¹ß»ýÇÕ´Ï´Ù.
Àúµµ À̺¥Æ®¿¡ ´ëÇØ¼´Â ½Ãµµ Çϰí ÀÖ´ÂÁßÀ̶ó..
ÇÏÁö¸¸ ÀÎÈ£´ÔÀÇ °èȹ¿¡¼ ÀÌ·¸°Ô ÇÑ´Ù¸é µÉ°Å °°³×¿©.
Áú¹® ÀÔ´Ï´Ù.
Àúµµ ÇöÀç ÀÎÈ£´ÔÀÇ »ý°¢´ë·Î ±âȹÇÏ·Á°í Çß½À´Ï´Ù.
¹®Á¦Á¡ÀÌ ÀÖ´õ±º¿ä.
ÇϳªÀÇ ¾²·¹µå´Â º¹¼ö °³ÀÇ À̺¥Æ®¸¦ µ¿½Ã¿¡ ±â´Ù¸±¼ö ÀÖ½À´Ï´Ù.
ÇöÀç ´ÙÅ¥¸ÕÆ®¿¡ ³ª¿Â ÇѰè·Î´Â 64°³·Î ¼³Á¤µÇ¾î ÀÖ½À´Ï´Ù.
Áï ÇöÀç win32¿¡¼ APIÀÇ ÃÖ´ë 64°³ÀÇ À̺¥Æ®¸¦ ±â´Ù¸±¼ö ÀÖ½À´Ï´Ù
(WaitForMultipleObjects()ÂüÁ¶.. WSAWaitFor... Àº Win32 API¸¦
Wrapping½ÃŲ°É °Åµç¿ä.)
±×·¸´Ù¸é ¾²·¹µå´ç 64°³ÀÇ À̺¥Æ®°³, 180°³ÀÇ ÇÁ·Î¼¼½º´ç ¾²·¹µå
ÇѰ踦 °í·Á ÇÑ´Ù¸é... ¼¹öÀÇ Åë½Å¶óÀ̺귯¸®·Î ³Ê¹« ¸¹Àº ¸®¼Ò½º
¸¦ »ç¿ëÇÑ´Ù´Â °è»êÀÔ´Ï´Ù.
Á¦ »ý°¢¿¡´Â 10000°³ ÀÌ»óÀÇ Á¢¼ÓÀ» ¹Þ´Â ¼¹ö·Î(ÀÌ·ÐÀûÀθé)
¼³°èµÇ¾î¾ß Çϰí, ±×·¯·Á¸Õ ¼ÒÄÏ Åë½Å ¸ðµâ¿¡¼¸¸ ³Ê¹« ¸¹Àº ¾²·¹µå¸¦
»ç¿ëÇϴ±º¿ä.. Ȥ½Ã ÀÌ·¯ÇÑ ¹®Á¦¸¦ °í·ÁÇß´ÂÁö ±Ã±ÝÇϰí..
´Ù¸¥ ÇØ°áÃ¥ÀÌ ¾ø³ª ÇØ¼¿ä..
ÇÁ·Î¼¼½º´ç 180°³ÀÇ ¾²·¹µå¹Û¿¡ »ý¼ºÇÒ¼ö ¾ø´Ù´Â°Ç
AfxBeginThread()ÇÔ¼ö¸¦ ·çÇÁ¸¦ µ¹·Á¼ »ý¼ºÇØ ºÃ½À´Ï´Ù.
À̰Ϳ¡ ´ëÇÑ ÇØ°áÃ¥À¸·Î
WSAEventSelect(s1, event1, FD_READ);
WSAEventSelect(s2, event1, FD_READ);
...
...
µîÀ¸·Î ¿©·¯ ¼ÒÄÏÀÌ ÇϳªÀÇ À̺¥Æ®¸¦ °øÀ¯ÇÏ´Â °Ì´Ï´Ù.
±×·¯¸é ¼ÒÄÏ¿©·¯°³¸¦ ¾²·¹µå Çϳª°¡ °ü¸® ÇÒ¼ö ÀÖ°Ú´õ±º¿ä.
±Ùµ¥ À̺¥Æ®°¡ ¹ß»ýÇÏ¸é ¾î´À ¼ÒÄÏ¿¡¼ ¹ß»ýÇß´ÂÁö´Â ¸ð¸£°Ú´õ±º¿ä.
¼ÒÄÏÀ» ¼ø¼´ë·Î °Ë»öÇÏ´Â ¹æ¹ý ¿Ü¿¡´Â¿ä.
´äº¯ ±â´Ù¸±²²¿ä..
ÀÎÈ£´ÔÀÇ ¾ÆÀ̵ð¾î´Â Á¦°¡ °í·ÁÇÏÁö ¸øÇÑ ºÎºÐÀä..
ÁÁÀº ÇØ°áÃ¥ÀΰŠ°°½À´Ï´Ù.
Looping¹æ½Ä¿¡ ÀÇÇÑ ÀÏÁ¾ÀÇ polling°³³äÀε¥..
±×·¸´Ù¸é Á¦°¡ »ý°¢ÇÑ ¹®Á¦¸¦ ÇØ°áÇÒ¼ö ÀÖ´Â ¹æ¹ýÀä..
ÇÏÁö¸¸ 2°¡Áö ¿À¹öÇìµå°¡ ÀÖ°Ú±º¿ä.
1¹øÂ°·Î ¼ÒÄÏÀ» ƯÁ¤½Ã°£ °£°ÝÀ¸·Î pollingÇϱ⠶§¹®¿¡
ÀÏÀÌ ¾øÀ» °æ¿ì Á×¾î ÀÖ¾î¾ß ÇÒ Thread°¡ °è¼ÓÀûÀ¸·Î »ì¾Æ
³ª°Ô µË´Ï´Ù. Event°¡ ¹ß»ýÇÏÁö ¾Ê¾Æµµ ¸»ÀÌÁÒ.
À̰ÍÀº WaitForMultipleevents()ÀÇ ½Ã°£À» ª°Ô ÇÒ¼ö·Ï
Å©°Ô µÎµå·¯Áö´Â ¿À¹öÇìµåÀÔ´Ï´Ù.
2¹øÂ°·Î ¸¶Âù°¡Áö °³³ä¶§¹®¿¡ ¾î¶² ¼ÒÄÏ¿¡ ÀÐÀ» µ¥ÀÌŸ°¡
ÀÖ°Ô µÉ°æ¿ì, Looping¼ÒÄÏÀÌ ¸¹¾ÆÁö¸é µ¥ÀÌŸ°¡ ¹ß»ýÇÏ´Â
¼ø°£ Àд °ÍÀÌ ¾Æ´Ï¶ó PollingŸÀֶ̹§ Àоî¿À¹Ç·Î
µÚ´Ê°Ô ¼ÒÄÏ¿¡¼ µ¥ÀÌŸ¸¦ Àоî¿À°Ô µÇ´Â°Ì´Ï´Ù.
WaitForMultipleEvent()ÀÇ ½Ã°£À» ±æ°Ô ÇÒ¼ö·Ï
µÎµå·¯ Áö´Â ¿À¹öÇìµå ÀÌÁÒ..
À̹®Á¦´Â 100¹Ð¸®¼¼ÄÁµåÀÇ Delay¸¸ ¹ß»ýÇÏ´õ¶óµµ
¼ÒÄÏÀÇ ¼º´É¿¡´Â Å« ¿µÇâÀ» ¹ÌĨ´Ï´Ù.
¼ÒÄÏ ¹öÆÛ°¡ 4096ÀÏ °æ¿ì, ÃÊ´ç 40K ÀÌ»óÀÇ ¼º´ÉÀº Àý´ë·Î
¾È³ª¿À´Ï±î¿ä.. Áï »ó´ë¹æ ¼ÒÄÏ ¹öŶ¿¡¼ µ¥ÀÌŸ¸¦ º¸³»·Á
ÇØµµ ¼¹öÀÇ ÀÌ·¯ÇÑ ·çÇΰ³³ä¶§¹®¿¡ »ý±ä Read Delay´Â
»ó´ë¹æ ¼ÒÄϹöŶ¿¡¼´Â WouldBlockÀÇ Error¸¦ ³»°í
´õÀÌ»ó Send¸¦ ÇÒ¼ö ¾ø°Ô ¸¸µé°Åµç¿ä.
µÎ¹øÂ° ¹®Á¦Á¡Àº ¶óÀ̺귯¸®·Î¼´Â Ä¡¸íÀûÀÎ °áÇÔÀÌ µÉ°Å
°°½À´Ï´Ù.
°á±¹ Event Driven¿¡ À§¹èµÇ´Â Æú¸µ ¹æ½ÄÀº ¿©·¯ °áÇÔÀÌ
»ý±é´Ï´Ù..
ÃÖ´ëÇÑÀÇ ¿À¹öÇìµåÃà¼Ò´Â
WaitForMultipleEvents()ÇÔ¼ö¿¡¼ Event¿ÀºêÁ§Æ®°¹¼ö¸¦
ÃÖ´ë·Î Å©°Ô ÇÏ´Â ¹æ¹ý¹Û¿¡´Â ¾ø½À´Ï´Ù..
Áï 10°³ÀÌ»ó ¹¾î¼ ¿©·¯ ¿ÀºêÁ§Æ®¸¦ µ¿½Ã¿¡ ±â´Ù¸®´Â..
Èì.. ÀúÀÇ ÁïÈïÀûÀÎ-Ȥ½Ã Á¦°¡ »ý°¢Ä¡ ¸øÇÑ ´Ù¸¥ ÇØ°áÃ¥ÀÌ
ÀÖÀ»¼ö ÀÖÀ¸´Ï±î¿ä-»ý°¢ À̾ú½À´Ï´Ù.
FD_READ´Â Àоî¾ß ÇÒ µ¥ÀÌÅͰ¡ ¼ö½ÅµÉ¶§¸¶´Ù Å뺸µÇÁö¸¸ FD_WRITE´Â ±×·¸Áö
¾Ê½À´Ï´Ù.
À̰ŠÀü¿¡µµ ÁÖÀÇÇ϶ó°í ±Û ¾´ ÀûÀÌ ÀÖ´Â°Í °°Àºµ¥... FD_WRITE ¸Þ½ÃÁö°¡ Å뺸µÇ´Â
½ÃÁ¡Àº ¼ÒÄÏÀÌ Ã³À½ ¸¸µé¾îÁ®¼ ¼Û½ÅÀÌ °¡´ÉÇØ Áø ½ÃÁ¡¿¡ Çѹø, ±×¸®°í ¸Þ½ÃÁö
Àü¼Û
µµÁß ºí·ÏÅ·ÀÌ °É·Á ¼Û½ÅÀÌ ÁߴܵǾúÀ» °æ¿ì, Àá½ÃÈÄ ¼ÒÄÏÀÇ ºí·ÏÅ·ÀÌ Ç®·Á
¸Þ½ÃÁö
Àü¼ÛÀÌ °¡´ÉÇØ Áú¶§ Çѹø Å뺸µË´Ï´Ù.
ÀÌ°Í À߸ø ÀÌÇØÇϽðí ÇÁ·Î±×·¥ ÇϽøé Àß Àü¼ÛµÇ´Ù °©ÀÚ±â Àü¼ÛÀÌ ¾ÈµÇ´Â
µî
ÀÌ»óÇÑ Çö»óÀÌ ¹ß»ýÇÒ °Ì´Ï´Ù. »ç½Ç ºí·ÏÅ· »óȲÀ̶ó´Â °ÍÀº LANȯ°æ ¾Æ·¡¿¡¼
Å×½ºÆ® ÇÒ ¶§¿¡´Â °ÅÀÇ ¹ß»ýÇÏÁö ¾Ê±â ¶§¹®¿¡ ³ªÁß¿¡ ½ÇÁ¦·Î ¼ºñ½º ÇÒ¶§ À̹®Á¦°¡
¹ß»ýÇÏ¿© ³¶ÆÐ¸¦ º¸´Â °æ¿ì°¡ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù.
¾Æ.. Á¦°¡ À߸ø»ç¿ëÇϰí ÀÖ¾ú±º¿ä.
±×·¡µµ º°¹®Á¦ ¾øÀÌ »ç¿ëÇ߰ŵç¿ä.
º¸³»·Á°í ÇÒ¶§¸¶´Ù Àç ¼³Á¤À» ÇØ¼ »ç¿ëÇßÀ¸´Ï ¹®Á¦°¡
¾ø¾ú±º¿ä.. °í¸¿½À´Ï´Ù..
¼öÁ¤ÇÏ·Á¸é »ý°¢Á» ÇØºÁ¾ß °Ú±º¿ä.. Çã
¾È³çÇϼ¼¿ä...
À½.. ¿ä½Ä´Ô ´äº¯ Àß Àоú½À´Ï´Ù.
Àúµµ »ç½Ç ±×·¯ÇÑ ¿À¹öÇìµå¿¡ ´ëÇØ °ÆÁ¤À» Çß½À´Ï´Ù.
±×¸®°í, waittimeÀ» Àß Á¶ÀýÇÏ¸é »ó´çÈ÷ °¡´É¼ºÀÌ ÀÖÀ¸¸®¶ó »ý°¢Çߴµ¥..
Èì.. µÎ¹øÂ° ¿À¹öÇìµåÀÇ ¹®Á¦¸¦ »ý°¢ÇÏÁö ¸øÇß±º¿ä..
¸®½ºÆ®¿¡ ¼ÒÄÏÀÌ ¸¹Àº °æ¿ì, À̺¥Æ® ¹ß»ýÈÄ, Æú¸µµÇ´Â ½ÃÁ¡±îÁö...
´ë±â ½Ã°£ÀÌ ±æ¹Ç·Î.... »ó´ëÆíÀÇ wouldblock....
ÇãÇã... ³°¨Çϳ׿ä..
±×·¸´ã, À̺¥Æ®µå¸®ºì ¹æ½ÄÀ¸·Î ÇϱⰡ ³°¨ÇØÁö´Âµ¥....-_-;;
À©µµ¿ì¿¡ ¸Þ½ÃÁö¸¦ º¸³»´Â ¹æ½Äº¸´Ù ºü¸£¸®¶õ ¿¹»ó¶§¹®¿¡
ÀÌ ¹æ½ÄÀ» °í·ÁÇÏ°Ô µÇ¾ú´Âµ¥, ¹®Á¦°¡ ¸¹±º¿ä...
Èì³Ä.. ¹º°¡ ¹æ¹ýÀÌ ÀÖÀ»¹ýµµ Çѵ¥..
ÀÌ·± ¹®Á¦¸¦ ÇØ°áÇÒ ¹æ¹ýÀÌ ¾ø´Ù¸é, À̺¥Æ®µå¸®ºì ¹æ½ÄÀÇ Çʿ伺ÀÌ
°ÅÀÇ ¾ø±º¿ä... ¿¡±¸.. ¹¹ µ¥¸ó ÇÁ·Î±×·¥À» ¸¸µé °ÍµÎ ¾Æ´Ï±¸.
¿ä½Ä´Ô °°ÀÌ °í¹Î Á» ÇØº¸ÁÒ... ^^;
°¡´ÉÇϸé ÀÌ ¹æ¹ýÀ» °í¼öÇÏ°í ½Í±ä ÇÏÁö¸¸..
¾ÈµÈ´Ù¸é... °á±¹.... ±¸Á¶ ÀÚü¸¦ ¹Ù²Ù¸é..
¾Ö¸ÅÇÏ´Ù ¾Ö¸ÅÇØ.... ±×·³ ¼ö°íÇϼ¼¿ä..
¾Æ±î ±ôºýÇß¾ú´Âµ¥¿ä..
¾Æ·¡ ±ÛÀÇ ¼ÒÄÏ ¹öÆÛ°¡ 4096À̶ó´Â °ÍÀº...
³×Æ®¿öÅ© Ä«µåÀÇ ¹öÆÛ¸¦ ¸»¾¸ÇϽŠ°Ç°¡¿ä?
¾Æ´Ï¸é ÇÁ·Î±×·¥»ó¿¡¼ ÀâÀº ¹öÆÛ »çÀÌÁ ¸»¾¸ÇϽô °Ç°¡¿ä?
ÈÄÀÚÂÊÀÎ °Å °°Àºµ¥...
±×¸®°í 40kÀÇ ¼º´ÉÀ̶ó´Â °Íµµ...
¼¹öÂÊÀÔ´Ï±î ¾Æ´Ï¸é Ŭ¶óÀ̾ðÆ®ÂÊÀԴϱî?
±Ã±ÝÇϱº¿ä... ^^;
¾È³çÇϼ¼¿ä..
»ý°¢À» ÇØ ºÃ´Âµ¥....
°á±¹Àº, ÇÑ ¾²·¹µå¿¡¼ ó¸®ÇÒ ÃÖ´ë Ŭ¶óÀÌ¾ðÆ® ¼ö¸¦ Á¤ÇÑ µÚ,
(¿¹¸¦ µé¸é, 320¸í... ÀÌ·¸°Ô¿ä..)
64°³¾¿ÀÇ À̺¥Æ®¸¦ °®´Â À̺¥Æ® Ç®(event pool)À» ¸¸µé¾î¼ ÇÏ´Â ¼ö°¡
ÃÖ¼±ÀÏ °Å °°½À´Ï´Ù.
À§ÀÇ ¿¹ÀÇ °æ¿ì´Â 5°³ÀÇ À̺¥Æ® Ç®À» °®°ÚÁÒ.
¾²·¹µå¿¡¼´Â Çѹø¿¡ ÇÑ À̺¥Æ® Ç®¾¿ waiteventÇϰí..
´ÙÀ½ À̺¥Æ® Ç®·Î ³Ñ¾î°¡°í....
64°³ ÀÌ»óÀ» ÇÒ ¼ö ¾ø´Ù¸é, ´Þ¸® ¹æ¹ýÀÌ ¾øÁö ¾ÊÀ»±î¿ä?
64°³ÀÇ Å¬¶óÀÌ¾ðÆ® ¹Ì¸¸À̸é Á¤»óÀûÀÎ ¼Óµµ°¡ ³ª°Ú°í..
ÀÌ °æ¿ì´Â Ŭ¶óÀÌ¾ðÆ® ¼ö°¡ ¸¹À¸¸é ´À·ÁÁö°Ú±º¿ä.
±×·¡µµ ÀüÀÇ Á¦ »ý°¢Ã³·³ 320¸íÀ» ¼øÂ÷ÀûÀ¸·Î ±â´Ù¸®´Â °Íº¸´Ù¾ß ³´°ÚÁÒ.
°á±¹ 5¹øÀÇ WAITEVENT¸¦ ÇØ¾ß µÇ´Â °Å±º¿ä.
±×·¸´ã Ãß°¡·Î, À̺¥Æ® Ç®ÀÇ À̺¥Æ®¸¦ ¼±ÅÃÇØ ÁÖ´Â ÀÛ¾÷°ú,
À̺¥Æ®°¡ ¹ß»ýÇßÀ» °æ¿ì, ÇØ´ç ¼ÒÄÏÀ» ã¾ÆÁÖ´Â ¹æ¹ýÀÌ ÇÊ¿äÇϱº¿ä...-_-;
Èì.. ±×¸®°í Çϳª Áú¹®À» Çϰڴµ¥¿ä..
¾îÂ¥ÇÇ ÀÌ ºÎºÐÀ» ·çÇÁ·Î µ¹¸®´Ï±î ½º·¹µå°¡ °è¼Ó ÀÛ¾÷ÇÏ´Â °ÍÀÌ ¾Æ´Õ´Ï±î?
waitÇÏ´Â µ¿¾È µé¾î¿Â À̺¥Æ®°¡ ¾ø´Ù¸é sleepÇÏ´Â °Ç°¡¿ä?
ÀϺη¯ Sleep(sleeptime) ÇØ ÁÙ ÇÊ¿ä´Â ¾ø°ÚÁö¿ä?
»ý°¢Çϸé ÇÒ ¼ö·Ï »ý°¢ÀÌ ²¿ÀÌ´Â ±º¿ä.
Á¦ »ý°¢¿¡ ´ëÇØ ¸»¾¸ÇØ ÁÖ¼¼¿ä,.,
ÀÎÈ£´ÔÀÌ ¸»¾¸ÇϽйæ¹ý´ë·Î ÇÑ´Ù°í ÇßÀ»°æ¿ì
ÃÖ´ë 5°³ÀÇ event pool¿¡ ´ëÇØ Æú¸µÀ» ÇØÁÖ¾î¾ß
ÇÏ°í ±×·²°æ¿ì WaitForMultipleEvents(s1, event1, time);
¿¡¼ time°ªÀÌ Áß¿äÇÑ ÆÄ¶ó¹ÌÅÍ·Î ÀÛ¿ëÇÕ´Ï´Ù.
¿©±â¼ time°ªÀº À̺¥Æ®°¡ ¹ß»ýÇϱâ Àü±îÁö ¾ó¸¶¸¸Å ¾²·¹µå
¸¦ Sleep½Ãų¼ö Àֳĸ¦ ¼³Á¤ÇÏ´Â °ÍÀ̴ϸ¸Å..
ÀÌ °ªÀ» ÀÛ°Ô Çϸé ÀÚÁÖ ¾²·¹µå°¡ ±ú¾î³ª¼
CPU timeÀ» Àâ¾Æ¸Ô°Ô µË´Ï´Ù. 1¹øÂ° ¿À¹öÇìµåÀÌÁÒ.
±×·¸´Ù±¸ ÀÌ °ªÀ» Å©°Ô Çϸé..
time * 5 ¸¸ÅÀÇ ½Ã°£À» ¼ÒÄÏ¿¡¼ µ¥ÀÌŸ¸¦ ÀÐÁö ¸øÇÏ
´Â °æ¿ì°¡ »ý±â´Â °ÅÁÒ. 2¹øÂ°ÀÇ ¿À¹öÇìµåÀÔ´Ï´Ù.
¹öÆÛÅ©±â°¡ 4096À̶ó°í ÇÑ°Ç ¿¹¸¦ µé¾î¼À̰ŵç¿ä.
¼ýÀÚ¿¡´ëÇØ Á¤È®È÷ ±â¾ïÀ» ¸øÇؼ ´ëÃæ ÀûÀº°Ì´Ï´Ù.
¾î·µç Á¶Á¤À» ÀßÇÏ¼Å¾ß ÇÒ°Å °°½À´Ï´Ù. ¹öÆÛ°¡ ÇÑÁ¤µÈ°Ç
»ç½ÇÀ̴ϱñ¿ä.
Á¦°¡ »ý°¢ÇÏ´Â °Å¿¡ ¹®Á¦Á¡ÀÌ ÀÖÀ»¼ö ÀÖÀ¸´Ï
°¨¾ÈÇϽñ¸¿ä.. µµÅ¥¸ÕÆ®¸¦ ¿Ïº®È÷ ÀÐ°í ÆÄ¾ÇÇÑ°Ô ¾Æ´Ï¶ó
°³ÀÎÀûÀÎ °æÇè¿¡¼ ºÐ¼®ÇѰÍÀÌ´Ï ¸¸ÅÀÌ¿ä..
±×·³ µµ¿òÀÌ µÇ¼Ì±â¸¦..
¾Æ±Ã Àú´Â ¸Þ¼¼Áö ¹æ½ÄÀ¸·Î µ¹¾Æ¼¾ß °Ú¾î¿©..
´ë½Å ¸ÞÀξ²·¹µå¿¡ ¿µÇâÀ» ¾È¹Þ´Â ¹æ¾ÈÀ» »ý°¢ÇØ ºÁ¾ß °Ú½À´Ï´Ù.
Àб⠾²±â¸¸À» Àü´ãÇÏ´Â ¾²·¹µå¸¦ ¸¸µå´Â ¹æ¾ÈÀÌÁÒ.. ¸Þ¼¼Áö¹æ½ÄÀ¸·Î..
±×·³..
Èì... ¾È³çÇϼ¼¿ä.
¿ä½Ä´ÔÀÌ ¸Þ½ÃÁö ¹æ½ÄÀ¸·Î µ¹¾Æ¼±´Ù´Ï...¾Æ½±³×¿ä..
ÂÁ... ÇÏÁö¸¸, Àü ±×´ë·Î À̺¥Æ®¹æ½ÄÀ¸·Î °¥±î ÇÕ´Ï´Ù.
¾îÂ¥ÇÇ ¸Þ½ÃÁöÅ¥¿¡¼ ³»¿ëÀ» Àоî¿Í¼ ¸Þ½ÃÁö¸¦ ó¸®ÇÏ´Â
¿À¹öÇìµå³ª 5¹øÀÇ Æú¸µÀ» ÇÏ´Â °æ¿ì³ª ºñ½ÁÇϸ®¶ó »ý°¢µË´Ï´Ù.
ÀÌ´Â ¾Æ¹«Æ° Á¦ °³ÀÎÀûÀÎ »ý°¢À̰í¿ä.
Èì... 4096¹ÙÀÌÆ®ÀÇ ¹öÆÛ¶ó...
Àú´Â ÃÖ´ë 10kÀÇ ¹öÆÛ¸¦ Àâ¾ÆµÎ·Á°í Çϴµ¥..
ÃÖ´ë ¸Þ¼¼Áö°¡ 10k¸¦ ³ÑÁö ¾ÊÀ¸´Ï±î¿ä.
±×¸®°í 4096¹ÙÀÌÆ®ÀÇ ¹öÆÛ¸¦ °¡Áø °æ¿ì, ÃÊ´ç 40k ÀÌ»óÀÇ ¼Óµµ°¡
¾È³ª¿Â´Ù°í Çϼ̴µ¥..
ÃÊ´ç 40k¶ó¸é, E1±ÞÀÏÅÙµ¥..
ÀÌ Á¤µµ ¼Óµµ¸é ±¦ÂúÀº °Å ¾Æ´Ñ°¡¿ä? ^^:
ÇÏ¿©°£ ŸÀÓÀ» Àß Á¶Á¤Çؼ ÃÖ´ëÀÇ È¿À²À» ³»µµ·Ï ³ë·ÂÇØ º¸ÁÒ.
±×·³ À̸¸.
¸Þ½ÃÁö Âɰ³Áü°ú ÇÕħ¿¡ °üÇÑ ³»¿ëÀº ¾Æ·¡ ±âÇö´Ô ¸»¾¸ ±×´ë·ÎÀÔ´Ï´Ù.
±×¸®°í µ¿½Ã¼ö½ÅÀÌ ¾ÈµÈ´Ù´Â °Í... Ŭ¶óÀÌ¾ðÆ® 1°³´ç ¼ÒÄÏÀÌ Å¬¶óÀÌ¾ðÆ® ¼ÒÄÏ
1°³,
¼¹öÃø ¼ÒÄÏ 1°³°¡ ÇÒ´çµÈ´Ù¸é µ¿½Ã¼ö½ÅÀ̶ó´Â °³³äÀÌ ¾øÀ»°Í °°Àºµ¥¿ä...
¾îÂ÷ÇÇ
Ŭ¶óÀÌ¾ðÆ®¸¶´Ù µ¶¸³µÈ ¼ÒÄÏÀ» »ç¿ëÇϴϱî¿ä... Á¦ »ý°¢¿¡´Â send() µµÁß¿¡
ºí·ÏÅ·
ÀÌ °É·Á¼ º¸³¾ µ¥ÀÌÅ͸¦ ¸øº¸³»¾úÀ» °æ¿ì Àü¼Û ¸Þ½ÃÁö Å¥¿¡ ³ÖÀº ÈÄ, FD_WRITE°¡
¼ö½ÅµÇ¾úÀ»¶§ Àü¼Û ¸Þ½ÃÁö Å¥¿¡ ³²¾ÆÀÖ´Â µ¥ÀÌÅ͸¦ ¸ÕÀú º¸³»°í ±×´ÙÀ½ µ¥ÀÌÅ͸¦
º¸³»¾ß Çϴµ¥ ÀÌ Ã³¸®¸¦ Á¦´ë·Î ÇÏÁö ¾Ê¾Æ µ¥ÀÌÅͰ¡ À¯½ÇµÇ´Â °Í ¾Æ´Ò±î ÇÕ´Ï´Ù.
ex)
°ÔÀÓÀº °è¼Ó ÁøÇàµÇ°í, À̺¥Æ®´Â °è¼Ó ¹ß»ýÇϹǷΠ¸Þ½ÃÁö¸¦ Àü¼ÛÇØ¾ß ÇÏ´Â ½ÃÁ¡Àº
°è¼ÓÀûÀ¸·Î ¹ß»ýÇÕ´Ï´Ù. ±×·¯³ª ³×Æ®¿÷ »çÁ¤À̶ó´Â °ÍÀÌ Ç×»ó ¸Þ½ÃÁö¸¦ Àü¼ÛÇÒ
¼ö
ÀÖ´Â °ÍÀÌ ¾Æ´Ï¹Ç·Î... óÀ½¿¡´Â Á¤»óÀûÀ¸·Î ÇÁ·Î¼¼½ÌÀ» ÇÏ¸é¼ ¸Þ½ÃÁö¸¦
Àü¼ÛÇÕ´Ï´Ù. ±×·¯´Ù ¼ÒÄÏÀÌ ºí·ÏÅ·ÀÌ °É¸³´Ï´Ù. ÀÌÁ¨ ´õÀÌ»ó ¸Þ½ÃÁö¸¦ º¸³¾
¼ö ¾ø½À
´Ï´Ù. ±×·¯³ª ³×Æ®¿÷ÀÌ ºí·ÏµÇ¾ú´Ù°í °ÔÀÓ ÁøÇ൵ ¸ØÃâ ¼ø ¾øÀ¸¹Ç·Î °ÔÀÓÀº
°è¼Ó
ÁøÇàµÇ°í ¸Þ½ÃÁö¸¦ º¸³¾ °æ¿ìµµ °è¼Ó ¹ß»ýÇÏÁÒ. ÀÌ·²¶§ º¸³»¾ß ÇÒ ¸Þ½ÃÁö´Â
¼ø¼´ë·Î Àü¼Û ¸Þ½ÃÁö Å¥¿¡ ÀúÀåµÇ¾î¾ß ÇÕ´Ï´Ù. ¸¸¾à Àü¼Û ¸Þ½ÃÁö Å¥¿¡ Á¶±ÝÀ̶óµµ
º¸³¾ µ¥ÀÌÅͰ¡ ³²¾ÆÀÖ´Ù¸é ¼ÒÄÏÀÌ ºí·ÏÅ· »óȲÀÌ ¾Æ´Ï´õ¶óµµ Àü¼Û ¸Þ½ÃÁö Å¥¿¡
³Ö¾î
¾ß ÇÕ´Ï´Ù(ÀÌÁ¡ÀÌ Áß¿ä) ±×·¯´Ù°¡ FD_WRITE°¡ ¿À¸é Àü¼Û ¸Þ½ÃÁö Å¥¿¡ ÀÖ´Â
µ¥ÀÌÅ͸¦
¼ø¼´ë·Î Àü¼ÛÇÕ´Ï´Ù. ±×·±µ¥ Å¥¿¡ µ¥ÀÌÅͰ¡ ³Ê¹« ¸¹ÀÌ ¹Ð·Á ÀÖ´Ù¸é Å¥ÀÇ µ¥ÀÌÅ͸¦
º¸³»´Ù°¡ ¶Ç ºí·ÏÅ·ÀÌ °É¸± ¼ö ÀÖ°ÚÁÒ. ±×·³ º¸³»´Ù ³²Àº µ¥ÀÌÅ͸¦ ¶Ç ¼ø¼¿¡
¸Â°Ô
º¸Á¸ÇØ ³õ¾Æ¾ß ÇÕ´Ï´Ù. ´ë·« ÀÌ·± ½ÄÀÇ ÀÛµ¿±¸Á¶°¡ ¿ÂÀüÈ÷ ±¸Çö µÈ´Ù¸é ¼ÒÄÏÀÇ
¿¬°á, Àü¼Û, ºí·ÏÅ· »óȲ¿¡ ´ëÇÑ ´ëó´Â ´Ù µÇ´Â °ÍÀÌ¶ó º¼ ¼ö ÀÖ½À´Ï´Ù.
ÇѰ¡Áö ´õ Å¥°¡ °¡µæÂ÷¸é ±× ¼ÒÄÏÀº ´õÀÌ»ó º¹±¸°¡ ºÒ°¡´ÉÇϹǷΠÁ¢¼ÓÀ» ²÷¾î¾ß
°ÚÁÒ.
ÀÌ °úÁ¤À» Ŭ·¡½º·Î ±¸ÇöÇÏ¿© »ç¿ëÇÏ´Â °ÍÀÌ °¡Àå ÆíÇÑ°Í °°´õ±º¿ä.
¾È³çÇϼ¼¿ä?
°©Àڱ⠸ӱ׿¡ °ü½ÉÀÌ »ý°Ü¼
winsockÀ» °¡Áö°í µ¹·Áº¸´Ï
¼¹ö³ª Ŭ¶óÀÌ¾ðÆ®³ª Å« ¾î·Á¿òÀº ¾ø³×¿ä.
±Ùµ¥ ¹Ø¿¡ ±¤Çö´Ô(¸Â³ª?) ¼³¸íÀ» º¸´Ï FD_WRITE°¡
°è¼Ó È£ÃâµÇÁö ¾Ê°í ƯÁ¤ÇÑ ¶§¸¸ È£ÃâÀÌ
µÈ´Ù°í Çϼż ÇØº¸´Ï Á¤¸» ±×·¸´õ±º¿ä.
send()¸¦ °è¼ÓÇÏ´Ù°¡ ºí·°Å·(¸Â´Â¿ë¾ð°¡?) ÀÌ
»ý±ä°É ¾î¶»°Ô ¾Ë¼ö ÀÖ³ª¿ä?
FD_WRITE°¡ Ŭ¶óÀÌ¾ðÆ®°¡ ÄÁ³ØÆ®µÇ°í ÇѹøÈ£ÃâµÈÈÄ
¾²±â °¡´ÉÇÔÀ» ¾Ë°í °è¼Ó º¸³»´Ù°¡ ºí·°Å·ÀÌ
°É¸®¸é ¾²±â ±ÝÁöÇØ¼ send()¸¦ ¾ÈÇÒ·Á°í Çϴµ¥
ºí·°Å·ÀÌ ¾ðÁ¦ °É·È´Ù´Â°É ¾Ë¼ö°¡ ¾ø³×¿ä.
·£À» »ç¿ëÇÏ´Ï ºí·°Å· °É¸±ÀÏÀÌ º°·Î ¾ø´Â°Å °°¾Æ¼..
ÀÏ¹Ý °ÔÀÓ¸¸ ¸¸µé´Ù À©µµ¸Þ½ÃÁö¿¡ ÀÇÁ¸ÇÏ´Â ÇÁ·Î±×·¥À»
±¸ÇöÇÏÀÚ´Ï ¾à°£ Çò°¥¸®´Â ±º¿©.
send()º¸³»´Ù ºí·°Å·°É¸°°Å ¾Ë¼ö Àִ¹æ¹ýÀ»
¾Ë·ÁÁÖ¼¼¿ä.
±×·³ °¨»ç..
send()¸¦ Çϸé send()ÇÔ¼ö¿¡¼ ½ÇÁ¦·Î º¸³½ ¹ÙÀÌÆ® ¼ö¿Í ¸¸¾à ¿¡·¯°¡ ¹ß»ýÇß´Ù¸é
SOCKET_ERROR°¡ ¸®Åϵ˴ϴÙ. ¿¡·¯ÀÇ Á¾·ù¸¦ ¾Ë·Á¸é WSAgetLastError() ¸¦ ½ÇÇàÇØ¼
¿¡·¯°ªÀ» ¾ò¾î¿À¸ç ÀÌ °ªÀÌ BLOCKÀÌ¸é ºí·ÏÅ·À¸·Î ÀÎÇØ Àü¼ÛÀÌ Áß°£¿¡ ÁߴܵǾúÀ½À»
ÀǹÌÇÏ´Â °ÍÀÌ°í ´Ù¸¥ ¿¡·¯¶ó¸é ´ëºÎºÐÀÇ °æ¿ì ¼ÒÄÏÀ» ²÷¾î¹ö·Á¾ß ÇÕ´Ï´Ù.
Áï ¼ÒÄÏ¿¡·¯¶ó°í ÇØµµ ºí·ÏÅ· ¿¡·¯¶ó¸é ¼ÒÄÏÀ» ²÷À» ÇÊ¿ä ¾øÀÌ ´ÙÀ½ FD_WRITE°¡
¼ö½ÅµÉ¶§±îÁö Àü¼ÛÀ» ±â´Ù¸®¸é µÇ´Â °Ì´Ï´Ù.
ÇÔ¼öÀÇ ½ºÆç¸µ°ú ¸®ÅϰªÀº ÇïÇÁ¸¦ ã¾Æº¸¼¼¿ä Á¦°¡ ¾´°ÍÀº Á¤È®ÇÏÁö°¡ ¾Ê¾Æ¿ä.