인프런 커뮤니티 질문&답변
컨텐츠 코드를 자식클래스로 분리하는 이유가 무엇인가요?
작성
·
266
0
Server를 대표하는 ServerSession, Client를 대표하는 GameSession등으로 나누었고
내부에 네트워킹 이후에 이루어지는 동작들(OnRecv, OnConnect, OnSend, OnDisconnect 등) 으로 코드를 분리하셨는데 혹시 이렇게 나눈 이유나 효과가 무엇인지 알수있을까요?
실제로 다른 IOCP코드를 보니 이렇게 나눈 코드가 정말 많더라구여, 그 이유나 효과에 대해서 감이 잘 안와 질문 여쭤봅니당
퀴즈
네트워크 라이브러리 설계에서 `IocpCore` 클래스의 주된 역할은 무엇일까요?
세션 연결 상태를 관리합니다.
비동기 I/O 작업 완료를 효율적으로 알리고 스레드에 분배합니다.
패킷 데이터 인코딩/디코딩을 담당합니다.
기본 소켓 유틸리티 함수들을 제공합니다.
답변 1
1
Rookiss
지식공유자
규모가 커지면 분리해야 관리하기가 쉽습니다.
그리고 Session만 놓고 봐도
보통 게임서버가 클라 외에도 다른 서버 (ex. 서버 분산한다면 DB 서버 등)와 통신을 맺는 경우가 많은데
ClientSession, ArbiterServerSession, ... 이런 식으로 용도를 분리하는 것이죠.
동작은 더 명확하게 함수가 실행되는 시점이 각기 다르니 분리된 것 뿐입니다.





