{"id":96,"date":"2005-08-02T15:37:59","date_gmt":"2005-08-02T15:37:59","guid":{"rendered":"http:\/\/www.gisdeveloper.co.kr\/?p=96"},"modified":"2017-01-29T16:03:37","modified_gmt":"2017-01-29T07:03:37","slug":"%ec%86%8c%ec%bc%93%ec%9d%84-%ec%9a%b0%ec%95%84%ed%95%98%ea%b2%8c-%ec%a2%85%eb%a3%8c%ed%95%98%ea%b8%b0","status":"publish","type":"post","link":"http:\/\/www.gisdeveloper.co.kr\/?p=96","title":{"rendered":"\uc18c\ucf13\uc744 \uc6b0\uc544\ud558\uac8c \uc885\ub8cc\ud558\uae30"},"content":{"rendered":"<p>\uc11c\ubc84\ub098 \ud074\ub77c\uc774\uc5b8\ud2b8\ub97c \uc885\ub8cc\ud558\uace0 netstat\ub85c \uc885\ub8cc\uc2dc\uc5d0 \uc18c\ucf13\uc774 \uc5b4\ub5a4 \uc0c1\ud0dc\uc778\uc9c0 \uc0b4\ud3b4\ubcf4\uba74 &#8216;TIME_WAIT&#8217;\uc73c\ub85c \ud45c\uc2dc\ub418\uc5b4\uc788\ub294\uac83\uc744 \ubcfc\uc218\uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub9ac\uace0 \uadf8\uac83\ub4e4\uc740 \uc7a0\uc2dc(\uba87\ubd84)\ud6c4\uc5d0 \uc0ac\ub77c\uc84c\uc2b5\ub2c8\ub2e4. \uc18c\ucf13\uc744 \uc885\ub8cc\ud560\ub54c \uc774\ub7ec\ud55c &#8216;TIME_WAIT&#8217; \uacfc\uc815\uc744 \uac70\uce58\uc9c0 \uc54a\uace0 \uc6b0\uc544\ud558\uac8c \ubc14\ub85c \uc885\ub8cc\ud558\ub294 \ubc29\ubc95\uc740 \uc544\ub798\uc640 \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<pre>code = ::shutdown( m_hSocket, SD_BOTH ); \/\/ Send a FIN here \r\n\r\n\/\/ Wait for socket to fail (ie closed by other end) \r\nif( code != SOCKET_ERROR ) \r\n{   \r\n    fd_set readfds; \r\n    fd_set errorfds; \r\n    timeval timeout; \r\n    FD_ZERO( &readfds ); \r\n    FD_ZERO( &errorfds ); \r\n    FD_SET( m_hSocket, &readfds ); \r\n    FD_SET( m_hSocket, &errorfds ); \r\n\r\n    timeout.tv_sec  = MAX_LINGER_SECONDS; \r\n    timeout.tv_usec = 0; \r\n    ::select( 1, &readfds, NULL, &errorfds, &timeout ); \r\n} \r\n\r\ncode = ::closesocket( m_hSocket ); \r\nm_hSocket = INVALID_SOCKET; <\/pre>\n<p>\uc774\uac83\uc774 ACK\uacfc FIN\uc744 \uae30\ub2e4\ub294 \ubc29\ubc95\uc785\ub2c8\ub2e4. \uc774\ub807\uac8c \ud558\uc9c0 \uc54a\uc558\uc744\ub54c\ub294 \uc18c\ucf13\uc740 \uc624\ub79c\uc2dc\uac04\ub3d9\uc548 TIME_WAIT\uc758 \ub300\uae30\uacfc\uc815\uc744 \uac70\uccd0\uc57c\ud569\ub2c8\ub2e4.<\/p>\n<p><span style=\"color:#FFFFFF;background-color:#009966;padding:3 1 0 1\">[\ucd9c\ucc98] \ub378\ub9c8\ub2f9(www.delmadang.com) \uc815\uc2b9\uc720\ub2d8\uc758 \uae00<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uc11c\ubc84\ub098 \ud074\ub77c\uc774\uc5b8\ud2b8\ub97c \uc885\ub8cc\ud558\uace0 netstat\ub85c \uc885\ub8cc\uc2dc\uc5d0 \uc18c\ucf13\uc774 \uc5b4\ub5a4 \uc0c1\ud0dc\uc778\uc9c0 \uc0b4\ud3b4\ubcf4\uba74 &#8216;TIME_WAIT&#8217;\uc73c\ub85c \ud45c\uc2dc\ub418\uc5b4\uc788\ub294\uac83\uc744 \ubcfc\uc218\uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub9ac\uace0 \uadf8\uac83\ub4e4\uc740 \uc7a0\uc2dc(\uba87\ubd84)\ud6c4\uc5d0 \uc0ac\ub77c\uc84c\uc2b5\ub2c8\ub2e4. \uc18c\ucf13\uc744 \uc885\ub8cc\ud560\ub54c \uc774\ub7ec\ud55c &#8216;TIME_WAIT&#8217; \uacfc\uc815\uc744 \uac70\uce58\uc9c0 \uc54a\uace0 \uc6b0\uc544\ud558\uac8c \ubc14\ub85c \uc885\ub8cc\ud558\ub294 \ubc29\ubc95\uc740 \uc544\ub798\uc640 \uac19\uc2b5\ub2c8\ub2e4. code = ::shutdown( m_hSocket, SD_BOTH ); \/\/ Send a FIN here \/\/ Wait for socket to fail (ie closed by other end) if( code != SOCKET_ERROR &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=96\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;\uc18c\ucf13\uc744 \uc6b0\uc544\ud558\uac8c \uc885\ub8cc\ud558\uae30&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-96","post","type-post","status-publish","format-standard","hentry","category-programming"],"_links":{"self":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/96","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=96"}],"version-history":[{"count":1,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/96\/revisions"}],"predecessor-version":[{"id":3761,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/96\/revisions\/3761"}],"wp:attachment":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=96"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=96"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=96"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}