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

DeungHeok Chung님의 프로필 이미지
DeungHeok Chung

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

PacketSession

Completion Port 모델을 활용한 설명은 없나요?

작성

·

426

1

Completion Port 모델을 활용한 설명은 없나요?

전반적인 내용이 너무 좋긴한데...

사실 제일 궁금한 사항이 그거 였거든요... ㅠㅠ

답변 6

2

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

C# .NET 네트워크 비동기 라이브러리는 
Completion Port (IOCP)를 기반으로 만들어져 있습니다.(Windows 기준)
그러니 간접적으로 활용하고 있다고 보시면 됩니다.
정말 한땀 한땀 코딩하고 싶으시다면 C++로 만드셔야 하는데
현재 계획상 C++ 서버 강의는 내년 중순 정도에 예정되어 있습니다.

참고로 CP 모델을 사용한다 해도
전반적인 코드 흐름엔 거의 변화가 없습니다.
쓰레드를 직접 만들어서 CP에 등록한다거나 하는 부분이 차이가 있긴 한데
그 외에 패킷 조립 등은 다 동일합니다.
애당초 C# 강의에서 사용하는 C# 서버도
제가 자체적으로 만든 C++ 서버 기반으로 코드만 살짝 C#에 맞게 옮긴겁니다.

1

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

네 저도 웃돈을 주고 중고로 힘들게 구입했습니다...
근데 아직까지도 저만한 책이 안 나왔어요!

1

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

http://www.yes24.com/Product/Goods/362774?OzSrank=2

IOCP에 관심이 있으시다면 위 책을 추천 드립니다.
처음에 네트워크 세팅을 하는 부분에서 IOCP 큐에다가 쓰레드를 등록하고
Send/Recv를 할때도 IOCP가 개입해서 완료 통지를 알아서 해주는데
그거 말고는 큰 차이가 없습니다.

1

Cp 모델이 들어간다면 어디쯤 들어가면 좋을지 혹시 대략적으로라도 언급해주실 수 있나여?

0

어 근데 절판이네여.. 말씀하신대로 참고해서 해보겠습니다

0

감사합니다

DeungHeok Chung님의 프로필 이미지
DeungHeok Chung

작성한 질문수

질문하기