티스토리 뷰

제2과목 프로그래밍 일반(2)


4. 윈도우즈 프로그래밍

윈도우즈와 관계있는것

API, EVent Driven Winmain

* API : Application Programming Interface, 응용 프로그램을 위하여 운영체제가 제공하는 함수의 집합

* 디바이스 컨텍스트 핸들(DC)의 열할

* 화면이 일정한 영역에만 출력하도록 제안, 장치의 ID를 알 수 있다, 장치 독립적인 출력을 할 수 있도록 한다

* Win23API란 32 비트 윈도우에서 응용프로그램을 작성하기 위한 API이다

* MFC를 사용하여 프로그래밍을 할 때 문서/뷰 간의 데이터 교환이 용이하다


* C언어로 프로그래밍할 때에는 시작위치는 winmain()함수이다, WndProc()이벤트처리

* 윈도의 프로그램을 작성하기 위해서는 API가 정의되어 있는 <windows.h> 라는 헤더파일을 포함시켜 주어야 한다. - #include <windows.h>

* 윈도우를 생성할 때에는 CreateWindow() 혹은 CreateWindowEx()를 사용

* 화면에 보기 위해서는 ShoWwindow, UpdateWindow를 사용

* 메세지큐에 메세지를 가져오는 부분은 GetMessage()함수 사용

* 객체에서 발생한 메시지를 가지고 처리하는 부분은 WndProc()처리

* 아이콘지정LoadIcon, 커서모양지정 LoadCursor함수 사용

* 펜, 브러쉬, 폰트, 핸들은 넘기는 함수로 GetStockObject()함수 사용

* 대화상자는 MassageBox()

* Directx SDK에서 하드웨어 추상계층과 에뮬레이션을 가리키는 말

* HAL, HEL



* DirectX SDK 구성요소

DirectInput, Direct3D, DirectDraw, DirectSound

* 윈도우모드와 풀스크린 모두 선택함수

SetCooperativeLavel

* Win32API프로그램의 메시지루프내의 함수 중 메시지를 콜백함수에게 전달

* DispatchMessage

* 콜백함수 - 이벤트 발생시 호출되는 함수

* MFC를 사용하여 얻은 이점 - 윈도우 메뉴 대화상자 기본 입출력을 관리 , 개발 속도 실행을 빠르게 해 준다, 이식성이 좋은 코드를 생성할 수 있다


5. 컴퓨터네트워크 개요

(1) OSI

1968년 최초통신망 ARPANET(미 국방성, 군사적 목적)

라우터 : OSI 7레이어 중 네트워크 레이어에서 작동하는 하드웨어장치, 패킷의 최적 이동 경로 설정

응용계층(Application) - 표현계층(Presentation) - 세션계층(Session) - 전송계층(Transport) - 네트워크계층(Network) - 링크계층(Data Link) - 물리계층(Physical)

HUB : 허브

리피터 : 1단계 물리적 계층에 속한다, 증폭

브릿지 : 2단계 링크계층

트랜시버 : 어뎁터같은 것


(2) 통신프로토콜

서로 다른 데이터들간의 교환

구성요소 : 구문, 의미, 타이밍

․직접통신과 간접통신방법

․단일구조와 구조적 구조

․대칭적 또는 비대칭적

․표준 또는 비표준


게임프로그래밍전문가 자격증


(3) 네트워크 게임 알고리즘

버퍼복사를 최소화, 데드레커닝 방법을 사용하여 지연에 따른 물체의 위치예측, Peer-to-Peer 방식경우 로비 알고리즘필요, 멀티스레드사용


(4) OSI참조모델

+ 응용계층 : 사용자 수준형식과 절차 프로그램, 조작원, 장치

+ 표현계층 : 데이터입력, 교화, 표시및제어의관리, 인터페이스변환 및 애플리케이션

+ 세션계층 : 세션관리서비스, 데이터교환, 통제데이터 조작, 서술/동기화

+ 전송계층 : 종단간 메시지 전송

+ 네트워크계층 : 사용자수준형식과 절차프로그램, 조작원 장치

+ 데이터링크계층 : 데이터흐름 초기화 통제 종료복구

+ 물리계층 : 통신 매체로의 전기적/기계적 인터페이스


(5) TCP/IP

․역사 : DARPA에 의해 개발

․응용계층 전송계층 네트워크계층 링크계층


(6) TCP/IP 프로토콜 계층구조

링크계층 ARP, RARP

IP주소로부터 링크계층의 MAC 주소를 얻기 위한 프로토콜 ARP(네트워크계층)

하나의 서버를 갖는 것, RARP(링크계층)

TCP/IP네트워크계층

네트워크계층 ICMP IP IGMP

전송계층 TCP UDP


IP 계층은 네트워크번호와 호스트 번호로 구성되어있다

클래스A : 호스트3칸, 클래스 B : 호스트번호2칸, 클래스 C : 호스트번호1칸, 클래스 D : 멀티캐스트주소

ICMP IGMP : 에러와 멀티캐스트 메시지 등 특별한 메시지를 관리하는 프로그램

에플리케이션(응용계층) : 데이터 → TCP(전송계층) : TCP헤더, 데이터 → IP : IP 헤더 TCP 헤더, 데이터 → 이더넷 드라이버(링크계층) : 이더넷 헤더, IP 헤더, TCP 헤더, 데이터



① IP프로토콜

TCP/IP

전송계층포트

포트번호 16비트, 전송계층에 잘 알려진 포트번호 69, 텔넷 : 포트번호 23

② TCP 프로토콜의 특징

- 동시에 양방향전송이 가능한 가상선로 제공, 한줄기의 데이터흐름 같다

- 신뢰성있는 데이터전송, 슬라이딩 윈도우방식의 흐름제어, 긴급데이터 기능, 16비트 포트를 이용한 전송계층 어드레싱

- 상대방끼리 협의를 거친 후 종료

③ TCP 세그먼트의 구조

소수포트, 목적지포트(16), 순서번호, 확인번호, (32), 헤더길이(4) 플래그, 윈도우크기(16), 체크섬(16), 긴급포인트(16), 옵션, 타이머


④ UDP 프로토콜의 특징

비연결 지향 프로토콜, 포트번호를 통한 어드레싱, 헤더와 데이터체크섬(선택), 매우 간단, 최선의 노력 으로 데이터전송

∞ TCP네트워크 IP 프로그램을 통해 전송되는 모든 정보는 캡슐화한다

∞ 캡슐화 IP헤더와 데이터를 갖는 IP데이터프로그램을 만든다

∞ 네트워크를 통해 IP 데이터그램을 전송할 때는 반드시 단편화한다

∞ 이더넷같은 네트워크기술은 반드시 MTU규정으로 한다

△ n비트컴퓨터 : CPU내에서 한번에 처리되는 데이터 단위

△ TCP 세그먼트 구조에 관한 설명 : 16비트 TCP 체크섬과 긴급포인터, 32비트 순서 번호와 확인번호

플래그-각 제어 정보를 표현

△ LAN과 LAN의 최적 경로를 찾아 네트워크 운영하려 할 때 이러한 기능의 필수장비 (Router)

△ DC(Device Context)설명 : 출력에 필요한 모든 정보를 가지고 있는 데이터 구조체이다, GDI에 의해 관리된다. 폰트의 종류, 선의 색상 등에 필요한 출력 정보를 가지고 있다.


댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday