인프런 커뮤니티 질문&답변
작성자 없음
작성자 정보가 삭제된 글입니다.
CreateSession 질문드립니다
작성
·
469
0
SessionRef session = _service->CreateSession()
SessionRef Service::CreateSession() { SessionRef session = _sessionFactory(); session->SetService(shared_from_this()); if (_iocpCore->Register(session) == false) return nullptr; return session; }
iocpcore->Register로 가게되는데
AcceptEx 진행전이여서 Socket등록이 되어 있지 않을텐데
bool IocpCore::Register(IocpObjectRef iocpObject)
{
return ::CreateIoCompletionPort(iocpObject->GetHandle(), _iocpHandle, /*key*/0, 0);
}
를통해서 IOCP등록이 어떻게 가능한지를 잘모르겠습니다
퀴즈
네트워크 라이브러리 설계에서 `IocpCore` 클래스의 주된 역할은 무엇일까요?
세션 연결 상태를 관리합니다.
비동기 I/O 작업 완료를 효율적으로 알리고 스레드에 분배합니다.
패킷 데이터 인코딩/디코딩을 담당합니다.
기본 소켓 유틸리티 함수들을 제공합니다.
답변 1
0
Rookiss
지식공유자
https://docs.microsoft.com/ko-kr/windows/win32/fileio/createiocompletionport
MSDN 공식 문서의 함수 관련 설명을 읽어보시면 도움이 됩니다.





