io 5

#019_Window_Network_소켓 입출력 모델_Select 모델

안녕하세요 삽잡이입니다. 이번 시간에는 네트워크 I/O 모델 방식 중 Select 모델 방식에 대해서 알아보겠습니다. linux 같은 OS들에서도 모든 시그널이 다 select 모델 방식으로 되어있다고하네요하지만 우리는 Windows의 select 모델을 알아본다는 점~!자 그러면 지금부터 개념을 알차게 알아가보도록 하겠습니다. Select 모델 방식의 핵심은 말 그대로 Select() 함수입니다. 이런 모델을 쓰는 이유는,'넌 블로킹 소켓을 사용해서 얻는 이점' + '이런 모델 방식을 사용해서 넌 블로킹 소켓이 아주 유연하게 동작하게 하는 것' 이와 같이 시너지를 내기 위함이 핵심이기 때문입니다... select 모델에서는 쓰레드를 단 하나 가지고즉, Main 함수를 움직이는 Primary 쓰레드 하나..

#018_Window_Network_네트워크 I/O(입출력) 모델

안녕하세요 삽잡이입니다. 이번 시간에는 Window Socket Programming에서 배우는 내용중에입출력 즉, 네트워크 통신을 하기 위한 효율적인 여러가지 모델들에 대해서 알아보도록 하겠습니다.즉, MS사에서 제공하는 다른 기능들에 대해서 차례대로 알아보자 이겁니다. 지금부터 배워볼 모델들은 효율적인 네트워크 프로그램을 만들기 위함입니다.우리가 알아볼 I/O 통신 방식은 6가지인데이 중에서 이미 한가지 모델 방식을 친숙할 것입니다... 그 하나가 바로 '쓰레드 모델링'을 사용한 네트워크 입출력 통신이니깐 말입니다...이 외에도 Window Socket Library에서 제공하는 모델 방식이 5가지가 더 있다 이겁니다... 블로킹 소켓은 무조건 쓰레딩 방식을 사용하냐 하면 그건 아니지만 대부분 쓰레딩..

#007_WIndow_API_그리기 (I/O) (3)

안녕하세요 삽잡이입니다.이번시간에는 지난 시간들에 이어서 그리기에 대해서 알아보도록 하겠습니다. 우선 클라이언트의 사각 영역을 얻기 위해서는 어떻게 해야할까요?GetClientRect 함수를 통해 얻어올 수 있게 됩니다.해당 함수는 각기 다른 윈도우 창의 크기를 구하기 위해서 유용하게 사용할 수 있는 함수입니다.즉, 전체 사각 영역을 그릴 수 있는 기능을 가지고 있습니다. 다음으로 마우스로 넘어가보도록 하겠습니다.마우스를 눌렀다가 떼는 과정에서 이벤트를 발생시키기 위해서는 어떻게 해야할까요? WM_LBUTTONDOWN과 WM_LBUTTONUP이라는 메시지들을 발생시키면 되겠지요... 모든 마우스의 이벤트는최상의 윈도우 즉, 마우스 포인터가 위치한 제일 위에 떠있는 윈도우가 받게 됩니다.프레임 밖에까지 가..

곱씹어보자 C!_#028_삽잡이의 두서없이 막말하는 파일 입출력 (2)

파일 입출력을 할 때에는 2가지의 파일 입출력을 제공합니다. 1. Text File 입출력 이때 C언어에서 많이 사용하는 함수는 fprintf(), fscanf() 입니다. 2. Binary File 입출력 fwrite(), fread() 함수를 사용하는데요, fwrite() 함수 같은 경우, 바이너리로 파일을 출력하는 기능을 가지고 있으며, fread는 반대로 복원하고자 할 때 사용합니다. 바이너리 0과 1의 집합으로 된 기계어 파일... 아시죠? 하하.. 2번, Binary File 입출력의 경우에는 사람이 읽기위한 목적이 아닌, 데이터를 보관하고 다음에 실행할 때 원상태로 복구하기 위해 사용합니다. 음... 다시 말씀드리자면, Binary 입출력은 쓰는 것을 목적으로 하지 않는 다는 것입니다. 읽어..

곱씹어보자 C!_#027_삽잡이의 두서없이 막말하는 파일 입출력 (1)

달려라 달려 삽잡이~정줄 놓은 삽잡이~ 프로그램의 인스턴스를 프로세스라고 합니다.프로그램은 죽어있는 껍데기라면... 프로세스는 살아있는 실제라고 할까요?즉, 메모리상에 떠 있는 프로그램을 프로세스라고 부릅니다.여기에는 치명적인 단점이 있습니다...바로 전원이 꺼지면 다 날라간다는... 프로세스에는 명령어와 데이터들로 되어있습니다...프로세스에 기록되어 있는 데이터들은 사용자 실행시간에 만들어지는데...이게 전부 프로그램에 남아있지는 않습니다. 원칙적으로 남아있던 데이터들은 남아 있겠지만, 프로그램에는 명령어와 데이터 셋이 있겠죠... 그렇다면 전원이 없더라도 데이터가 유지되도록 할 수는 없는 것인가요?아닙니다... 우리는 한글, 워드.. ppt 등등등 밤새 작성하고 저장하지 날리는 일이 없지는 않지만 아..