작성
·
426
답변 6
2
C# .NET 네트워크 비동기 라이브러리는
Completion Port (IOCP)를 기반으로 만들어져 있습니다.(Windows 기준)
그러니 간접적으로 활용하고 있다고 보시면 됩니다.
정말 한땀 한땀 코딩하고 싶으시다면 C++로 만드셔야 하는데
현재 계획상 C++ 서버 강의는 내년 중순 정도에 예정되어 있습니다.
참고로 CP 모델을 사용한다 해도
전반적인 코드 흐름엔 거의 변화가 없습니다.
쓰레드를 직접 만들어서 CP에 등록한다거나 하는 부분이 차이가 있긴 한데
그 외에 패킷 조립 등은 다 동일합니다.
애당초 C# 강의에서 사용하는 C# 서버도
제가 자체적으로 만든 C++ 서버 기반으로 코드만 살짝 C#에 맞게 옮긴겁니다.
1
1
http://www.yes24.com/Product/Goods/362774?OzSrank=2
IOCP에 관심이 있으시다면 위 책을 추천 드립니다.
처음에 네트워크 세팅을 하는 부분에서 IOCP 큐에다가 쓰레드를 등록하고
Send/Recv를 할때도 IOCP가 개입해서 완료 통지를 알아서 해주는데
그거 말고는 큰 차이가 없습니다.
1
0
0