IOCP의 WSAOVERLAPPED 구조체 상속에 관해서..
안녕하세요 IOCP 관련 자료를 찾아보던 중 WSARecv/WSASend 할 때 넣어주는 WSAOVERLAPPED 구조체를 상속한 사용자 구조체를 넘겨주는 경우를 봤습니다. 이렇게도 사용이 가능하다면 WSAOVERLAPPED 를 상속받았으니 호환 될 것이고 추가적인 데이터도 담을 수 있어 도움이 되겠다는 생각입니다.
하나 궁금한 것이 있는데요 IOCP를 이용해서 넘긴 WSABUFF의 메모리영역은 커널에 의해 보호 받는다고 알고 있습니다. 마찬가지로 WSAOVERLAPPED 구조체도 커널에 의해 메모리 관리가 되는지 만약 관리가 된다면 상속을 통해 추가적으로 들어가는 정보도 관리에 포함이 되는지 궁금합니다
감사합니다~
답변 1
1
네, 보호를 받습니다. 다만 WSAOVERLAPPED 구조체를 상속해 사용하는 경우를 본적은 없습니다. 그럴 이유도 별로 없어 보이기 때문입니다. 그러나 보호는 될 것으로 보입니다. 운영체제의 보호를 받는다는 것이 사실은 메모리를 Lock하는 것인데 보통 Lock 할 때는 대상 메모리 전체에 대해 Lock을 합니다. 그러나 많은 분들이 그렇게 하지 않고 메모리 전체 크기와 상관없이 길이를 0혹은 아주 작게 Lock을 겁니다. 그래도 큰 문제가 발생하지 않으며 메모리 Lock에 의한 오버헤드가 없어서 더 나은 성능을 기대할 수 있습니다.
결과적으로 상속에 의해 확장한다 하더라도 보호상 이슈는 없을 것으로 추측할 수 있겠습니다.
recv, send 리턴값 질문
0
77
2
스타,워크와 같은 디스창 (Disconnected)도 비정상 종료에 대응하는 시스템으로 봐야할까요?
0
96
2
수업과 관련해서 읽어볼 만한 책 있나요?
0
111
1
서버가 끊어버리는것에 대한 질문
0
121
2
TCP 의도적 장애 테스트 질문
0
159
2
shutdown()을 호출하는 이유
0
165
1
프로토콜이 적용된 파일 송신 서버에서 send, recv 질문 있습니다!
0
153
2
"파일 송신 서버 제작" 강의 질문입니다!
0
151
2
대표적인 장애 유현 2
0
131
2
대표적인 TCP 장애 유현
0
161
2
이벤트 기반 파일 입출력과 callback 기반 파일 입출력이 네트워크에도 쓰이는 기법인가요?
0
120
2
개발환경 질문이 있습니다.
0
137
1
TCP/IP vs UDP , 멀티 스레드에서의 병목 현상에 대한 질문이 있습니다!
0
221
2
메모리 관련 문제로 질문드립니다.
0
187
2
테스트 환경 질문드립니다!
0
168
2
ThreadAcceptLoop 의 우아한(?) 종료에 대해 질문드립니다.
0
419
2
하트비트 시 서버에서의 연결 종료
0
451
2
강사님 질문 드립니다.
0
249
1
소켓 입/출력 설계 정리
0
450
1
멀티스레드 기반 서버 관련 질문..!
0
412
2
빅 엔디언과 리틀 엔디언
0
378
2
TIME_WAIT 관련 문의드립니다.
0
226
1
강사님 강의자료 인쇄용으로 부탁드립니다.
0
288
1
bind 함수 관련 궁금증
0
357
2





