비동기 i/o라는 개념이 상당히 생소해서 이해하는데 깨나 골머리를 썩고 있습니다. ㅠㅠ
그래도 대충 iocp라는것 자체에 대한 개념은 이해를 했는데 여전히 궁금한게 있습니다.
iocp에서 대체 overlapped라는 구조체는 왜 쓰이는거죠?
처음엔 저 구조체에 해당 컴플리션 포트와 연결될 소켓(핸들)과 관련된 정보를 담는건가 싶었는데 iocp 만들때 Completion Key로 핸들값을 넘기잖아요?
대체 저 overlapped라는 구조체가 왜 나오게 되었고, 왜 쓰이는 것이며 어떻게 써야 잘 쓰이는 건지 궁금합니다.
많은 자료를 찾아봤지만 그냥 써라 라고만 되있고 왜 쓰는지 자세히 설명해놓은건 못 찾아서요.ㅠㅠ
ps.그리고 윈도우 소켓 프로그래밍을 할 때
WSAStartup() 함수에서 MAKEWORD 매크로의 결과를 첫번째 파라미터로 넘겨주는 이유가 뭔가요?
그리고 두번째 파라미터인 WSABUF에는 뭐가 들어가나요? 저 버퍼가 쓰이는 예제를 한번도 본 적이 없네요.
답변 부탁드립니다!