방프리

20.03.08 IOCP를 이용한 콘솔 채팅 프로그램 본문

Server&Network/TCP&IP

20.03.08 IOCP를 이용한 콘솔 채팅 프로그램

방프리 2020. 3. 8. 16:51

IOCP란?

- 입출력 완료를 쓰레드에 알려주는 모델. Completion Port에 들어온 입출력 통보를 Completion queue에 저장하고, queue에 저장된 데이터를 미리 생성한 Worker Thread에서 처리하는 방식으로 되어 있다.

 

TCP/IP 열혈강의 책의 Iocp Echo 프로그램을 기반으로 제작하였다. 

관련 소스 코드

https://github.com/deahoum/IocpChat

 

deahoum/IocpChat

Chatting program used by Iocp connection. Contribute to deahoum/IocpChat development by creating an account on GitHub.

github.com

 

* Echo 프로그램과 비교하면서 분석해야하는 부분

1) 기존의 예제에서는 여러 개의 클라이언트의 입력을 받지만 패킷을 보낸 클라이언트에게만 다시 전송하는 방식

2) Socket 배열을 통해 접속하는 클라이언트의 소켓 정보를 저장 후, Send할 때 배열 안에 있는 소켓에 데이터를 모두 보낸다.

 

Comments