이것 저것 내가 쓰고싶은 것을 쓴다.
by 마음은함께
AcceptEx 사용의 의문점
AcceptEx와 IOCP를 사용해서 서버용 소켓 라이브러리를 만드는데 애를 먹었다.
AcceptEx의 완료 이벤트는 잘 받는데, 그 이후에 Accepted Socket(Listening Socket이 아닌)과 IOCP를 연결해주는 CreateIoCompletionPort 함수를 호출한 결과에서 Invalid Parameter 에러가 나는 것이 문제였다.

setsockopt()를 호출해주지 않아서 그런건지 넣었다 빼보기도 하고,
소켓 핸들을 저장한 변수가 두 개(같은 핸들이지만)라서 그런가 해서 한개로 만들어 보기도 하고..
이것저것 테스트 해본 끝에 알아낸 것은

Accept Socket을 생성할 때, WSASocket()을 사용한 것이 문제였음!!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

socket()을 사용하면 아무런 문제가 없었다.
왜그럴까? -_-a
by mashedon | 2006/01/03 15:37 | Programming | 트랙백 | 덧글(1)
트랙백 주소 : http://mashedon.egloos.com/tb/1223361
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by 지나가다 at 2009/06/24 11:52
혹시,완전단순하지만,WSA_FLAG_OVERLAPPED 빼먹은건 아닌지...
아니면 setsockopt(ServerSocket, SOL_SOCKET, SO_CONDITIONAL_ACCEPT, (const char*)&on, sizeof(int)) 을 bind와 listen 사이에 넣어야 하는데,listen다음에 넣은건 아닌지여...

:         :

:

비공개 덧글



<< 이전 페이지 다음 페이지 >>


카테고리
이전블로그
이글루링크
최근 등록된 덧글
현재 안눌린 상태여도.....
by 지나가다 at 07/07
혹시,완전단순하지만,WS..
by 지나가다 at 06/24
나 상처받았어;; ( -)y-..
by 마음은함께 at 07/27
음.. 제가 보기에는.. 더 ..
by sdmanga at 07/25
도대체 무슨 소리가 듣구 싶..
by ????? at 07/25
--;; 너 땜메 안딲이자나!! ..
by 마음은함께 at 07/21
아... 한가지 더 주의 해야..
by ????? at 07/21
깽쑤! 니나 잘해ㅋㅋ
by 마음은함께 at 07/20
인생에 마(魔)가 꼈꾼요...
by ????? at 07/20
그건 영화에서도 똑같은데...
by 마음은함께 at 07/04
태그
rss

skin by 이글루스