190711 파일입출력, 클라->서버 (파일저장) 본 글은 교육을 받으며 정리한 내용을 그대로 올린 것 입니다. ● File IO 개행을 표시할 때 \r : 캐리지 리턴(CR) (다시 앞으로 땡기는 작업) \n : 라인 피드(LF) (타자기계에서 위로 올리는 작업) 파일 저장시 위 두개를 모두 해야한다. \r\n으로 저장을 해야한다. ABC BCD = ABC\r\nBCD\r\n 으로 저장이되어 모두 10byte로 저장된다. 1.텍스트모드 텍스트 모드는 자동으로 위(\r\n)을 변환시켜준다. 즉 \n과 \r\n의 관계다. 로그파일 만들 때 많이 쓴다. 2.바이너리모드 데이터를 저장할 목적으로 사용된다. 주로사용. 읽어온 만큼 다시 그대로 저장하려면 바이너리모드를 쓴다. ● 파일 IO를 하는 이유 2가지 1..
190710 - Study - 비동기 Notificaion IO 모델 본 글은 교육을 받으며 노트필기한 내용을 그대로 올린것 입니다. 비동기 Notification IO 모델 구현 방법 2가지 1. WSAAsyncSelect() 사용 : 발생한 이벤트를 수신한 위도우의 핸들 지정 필요. 2. WSAEventSelect() 사용 : ● WSAEventSelect : 임의의 소켓을 대상으로 이벤트 발생여부를 관찰하도록 한다. 이벤트 발생 유무에 관계없이 바로 반환한다. int WSAAPI WSAEventSelect( SOCKET s, WSAEVENT hEventObject, long lNetworkEvents ); ● manual-reset 모드이면서 non-signaled 상태인 Event 오브젝트가 필요..
190710 본 글은 교육을 받으면 노트필기 했던 내용을 그대로 올린내용입니다. #include // 윈도우즈 헤더보다 앞서서 정의한 것이 많다. 주의. 가장 (windows.h)위에 작성 // Windows.h 에서 이전 버전의 winsock.h 을 포함 시키기 떄문에 충돌이 난다. #include #include int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow) { WSADATA wsa; if (WSAStartup(MAKEWORD(2, 2), &wsa) != 0) return -1; WSACleanup(); return 0; } 다이얼로그 베이스 기반 #include #incl..