인프런 커뮤니티 질문&답변

사과일광욕님의 프로필 이미지
사과일광욕

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

Completion Port 모델

Key를 통해 넘겨주는것과 OVERLAPPED를 통해 넘겨주는것의 차이가 있나요?

해결된 질문

작성

·

213

0

iocp에서 CreateIOCompletionPort에 Key값에 우리가 원하는 값을 넘겨서 이후에 받을 수 있고,

WSASend/Recv에서도 우리가 확장한 Overlapped를 넘겨서 처리할수 있다고 하셨는데 둘의 차이가 있나요? 

답변 1

1

Rookiss님의 프로필 이미지
Rookiss
지식공유자

질문이 좀 애매한데요.
네트워크 API 가 그렇게 되어 있으니 차이는 있긴 하지만
어차피 그냥 숫자를 넘겨주고 넘겨받는거라
상황에 따라 필요한 데이터를 넣고 꺼내서 사용하면 됩니다.
사용적인 측면에서 보면 딱히 어떤 차이가 있다고 보기엔 뭐합니다.

우리가 추가적으로 넣길 원하는 정보를 Completion Key에 넣으나(eg. 세션),  원하는 정보를 Overlapped 확장 클래스에 넣으나(eg. AcceptEvent) 개인이 원하는 방식으로 하면 될뿐 어떻게 하라 라는건 없는건가요?

어떤 데이터는 Key에 넣어야 하고 어떤 데이터는 OVERLAPPED 에 "넣어야만" 한다라는 방법론 같은건 따로 없나요? 

Rookiss님의 프로필 이미지
Rookiss
지식공유자

네 그런 강제 사항은 없습니다.

사과일광욕님의 프로필 이미지
사과일광욕

작성한 질문수

질문하기