모델 2

#025_Window_Network_비동기 소켓 입출력 모델_IOCP모델

안녕하세요 삽잡이입니다. 이번시간에는 지금까지 배워왔던 모델들의 장단점을 총 종합해서 만들었다고 해도 과언이 아닌, 마지막 모델 IOCP 모델에 대해서 알아보려고 합니다.I/O Completion Port 모델이라고도 부를 수 있습니다. Window 서버로 만들어지는 경우가 많이 없지만,만약 Window 계열로 서버가 만들어 지는 경우의 거의 90% 이상은 IOCP 모델로 만들어진다고 생각하셔도 된다고 합니다. 기존에 Overlapped 모델과는 차이점이 뭘까요?Overlapped 모델 중 Completion Routine를 사용할 경우에는 Thread 하나를 가지고 작업을 진행했었습니다.하지만, 이 작업을 진행하는 쓰레드를 여러대 생성할 수 있을 경우에 그 만큼 동시 작업 처리에 효율성이 생기지요.....

#017_Window_Network_Non Blocking Socket

안녕하세요 삽잡이입니다. 이번 시간에는 Non Blocking Socket에 대해서 배워보려고합니다. 소켓에는 두 가지의 종류가 있습니다.바로, '블록킹 소켓'과 '넌 블록킹 소켓'이 있는 것입니다. 필자가 Nework Programming 에 대해서 글을 올리며 사용했던 방식은 모두 블록킹 소켓이었습니다.블록킹 소켓을 사용한다면,블록킹 소켓 내 IO 함수들은 자신의 목적(기능)을 완료할 때 까지 Blocking 상태에 놓입니다.이 블록킹 상태에 놓이는 I/O 함수들은 accept(), recv(), send(), connect() 함수등과 UDP에서 사용하는 recvfrom(), sendfrom()함수 등이 있습니다.즉, 이와 같은 I/O 함수들이 자신의 목적을 완료할 때 까지 Blocking 상태로 ..