NHN NEXT 게임 서버 프로그래밍 강의 자료입니다. 최소한의 필요한 이론 내용은 질문 위주로 구성되어 있고 (답은 학생들 개별로 고민해와서 피드백 받는 방식) 해당 내용에 맞는 실습(구현) 과제가 포함되어 있습니다.
참고로, 서버 아키텍처에 관한 과목은 따로 있어서 본 강의에는 포함되어 있지 않습니다.
2. Proactor vs Reactor
• 개념과 동작방식?
• 왜 이런 구분이 생기는가?
– OS의 지원 없이 어떤 방법으로도 가능한가?
• Accept, Disconnect를 proactor방식으로 한다면?
– AcceptEx
– DisconnectEx
– ConnectEx
– 각각의 사용 방법은?
3. PAGE-LOCKING
• IOCP 동작과정에서 발생하는 Page-locking이란?
• Page-locking을 최소화 하려면 어떻게 하면 될까?
• 다음의 소켓 옵션이 IOCP와 어떤 연관이 있을까?
– SO_RCVBUF
4. 패킷 여행(?) 과정
• RECV
– NIC 버퍼에서 유저레벨 버퍼까지 어떻게 오는가?
• SEND
– 유저레벨 버퍼에서 NIC 버퍼까지 어떻게 가는가?