'Programing > C#&.Net' 카테고리의 다른 글
형식 메타데이터 (0) | 2016.11.30 |
---|---|
c# 프로그램 연습 (0) | 2016.11.30 |
dll만들기 명령 프롬프트 사용 (0) | 2016.11.30 |
c# 기초 (0) | 2016.11.30 |
마샬링(marshalling) (0) | 2016.11.30 |
형식 메타데이터 (0) | 2016.11.30 |
---|---|
c# 프로그램 연습 (0) | 2016.11.30 |
dll만들기 명령 프롬프트 사용 (0) | 2016.11.30 |
c# 기초 (0) | 2016.11.30 |
마샬링(marshalling) (0) | 2016.11.30 |
형식 메타데이터 (0) | 2016.11.30 |
---|---|
c# 프로그램 연습 (0) | 2016.11.30 |
Delegate(대리자) (0) | 2016.11.30 |
c# 기초 (0) | 2016.11.30 |
마샬링(marshalling) (0) | 2016.11.30 |
형식 메타데이터 (0) | 2016.11.30 |
---|---|
c# 프로그램 연습 (0) | 2016.11.30 |
Delegate(대리자) (0) | 2016.11.30 |
dll만들기 명령 프롬프트 사용 (0) | 2016.11.30 |
마샬링(marshalling) (0) | 2016.11.30 |
형식 메타데이터 (0) | 2016.11.30 |
---|---|
c# 프로그램 연습 (0) | 2016.11.30 |
Delegate(대리자) (0) | 2016.11.30 |
dll만들기 명령 프롬프트 사용 (0) | 2016.11.30 |
c# 기초 (0) | 2016.11.30 |
interface IAverage : IUnknown
{
virtual int __stdcall Average(int *base,int asize)=0;
};
interface ICal: IUnknown
{
virtual int __stdcall Add(int a,int b)=0;
virtual int __stdcall Sub(int a,int b)=0;
virtual int __stdcall Mul(int a,int b)=0;
virtual int __stdcall Div(int a,int b)=0;
};
DLL만들기 예제
MFC 그림판 연습 |
기본적으로 생성되는 MainWnd, App, ViewWnd를 제외한 클래스에 대해 설명하겠습니다.
PaintaManager는 View 클래스에서 너무 많은 일을 하게 되니깐 PaintManager에서 실질적인 처리를 하게됩니다. View 클래스는 어떤 일이 발생하게 되면 PaintManager의 메시지를 호출 하게됩니다. Document는 Paint을 관리합니다. Pen, Rect, uEllipse, uLine는 Paint을 상속받았습니다
기본적인 파일 저장이 가능하며 메타파일 형태로 저장하여 동작합니다.
첨부파일 있음.
ON_UPDATE_COMMAND_UI (0) | 2016.11.30 |
---|
속성 창을 사용하여 사용자 인터페이스 개체를 명령 대상 개체의 명령 업데이트 처리기에 연결할 수 있습니다. 이렇게 하면 사용자 인터페이스 개체의 ID가 ON_UPDATE_COMMAND_UI 매크로에 자동으로 연결되고 업데이트를 처리할 개체에 처리기가 만들어집니다. 자세한 내용은 함수에 메시지 매핑을 참조하십시오.
예를 들어, 프로그램의 편집 메뉴에서 모두 지우기 명령을 업데이트하려면, 속성 창을 사용하여 선택한 클래스의 메시지 맵 엔트리, 클래스 선언에서 호출된 명령 업데이트 처리기 OnUpdateEditClearAll
에 대한 함수 선언, 클래스 구현 파일에 있는 빈 함수 템플릿 등을 추가합니다. 함수 프로토타입은 다음과 같습니다.
모든 처리기와 마찬가지로 이 함수도 afx_msg 키워드를 표시합니다. 또한 모든 업데이트 처리기와 마찬가지로 이 함수도 CCmdUI 개체에 대한 포인터를 인수로 사용합니다.
MFC 그림판 (0) | 2016.11.30 |
---|
응용프로그램의 연결된 소켓이 스트림 소켓(stream socket)이고 일반 데이터보다 중요한 데이터를 전송해야 할 떄,
좀 더 중요한 데이터라는 의미에서 대역 외 데이터(OOB data, Out-of-Band Data)로 데이터를 표시 할 수 있다.
수신측에서는 일반적인 데이터 스트림 외에 논리적으로 분리된 채널을 통하여 OOB 데이터를 수신할 수 있다.
TCP에서는 OOB 데이터를 urgent data라는 방식으로 구현했다. TCP의 urgent data는 urgent data임표시하는
1bit(URG)와 TCP 세그먼트 헤더(TCP segment header)의 16bit포인터(urgent pointer)를 이용하여 수신
스트림(downstream)이 urgent data임을 표시한다. urgent data의 구현 방법 두 가지가 RFC 793와 RFC 1122에
정의되어 있다. RFC 793에서는 TCP 헤더의 urgent pointer를 뒤에 붙은 urgent data byte의 옵셋으로 정의하고
있고 RFC 1122에서는 urgent data byte 자체로 정의하고 있다.
윈속 규약에서 OOB란 용어는 TCP에서 구현된 OOB 데이터(urgent data)와 프로토콜 독립적인 OOB 데이터(protocol-independent OOB data)의
구현 둘 다를 의미한다. 데이터에 OOB 데이터가 포함되었는지 체크하는 방법으로 ioctlsocket 함수의 SIOCALTMARK
옵션을 이용한다.
윈속은 urgent data를 얻는 몇가지 방법을 제공한다. urgent data가 일반 데이터 스트림에 포함되었거나 수신 함수가 분리되어
urgent data만 얻을 수 있다.
TCP/IP 개념 (0) | 2016.11.30 |
---|
1. TCP/IP 배경
- 1960년대 말 미국방성(DARPA)연구에서 시작
1980년대초 프로토콜 모델 공개, 인터넷 표준 프로토콜로 이용
2. 배우는 목적 및 이유
- 현재 인터넷 이용 시 가장 많이 사용하는 프로토콜이 TCP 와 IP 입니다.
그러므로 이 프로토콜을 모르면 네트워크가 어떻게 돌아가는지를 알 수 없습니다.
네트워크 관련 업무를 하려면 TCP/IP 에 대한 지식은 필수 입니다.
3. 내용
- TCP/IP 는 현재 가장 널리 사용되고 있는 프로토콜로 TCP/IP 모델이라는게 있습니다.
총 5계층으로 나누어 지며 이 모델 사용 목적은 표준화 용이, 트러블 슈팅 용이 등이 있습니다.
그리고 5계층 모델은 다음과 같이 나뉘어 집니다.
5계층 : 응용 프로그램(Application) 계층
4계층 : 전송(Transport) 계층
3계층 : 인터넷(Internet) 계층
2계층 : 데이터 링크(Datalink) 계층
1계층 : 물리(Physical) 계층
로 나뉘어 집니다. 각 계층별로 하는 역할이 틀리며 각 계층별 사용하는 프로토콜 또한 다릅니다.
응용프로그램 계층의 역할은 TCP/IP 응용 프로그램 프로토콜을 정의하고 호스트 프로그램이 전송
계층 서비스에 연결하여 네트워크를 사용하는 방법을 정의합니다.
대표적인 프로토콜 : http, telnet, ftp, tftp, snmp, dns, smtp, x windows 등등
전송 계층의 역할은 호스트 컴퓨터 사이의 통신 세션을 관리합니다. 데이터를 전송할 때 사용되는
서비스 수준 및 연결상태를 정의 합니다.
대표적인 프로토콜 : tcp, udp, rtp
인터넷 계층의 역할은 호스트 및 네트워크 간에 데이터그램을 전달하는 데 사용되는 원본주소 및 대상 주소
정보가 들어있는 IP 데이터그램으로 데이터를 묶습니다. IP 데이터그램을 라우팅 합니다.
대표적인 프로토콜 : ip, icmp, arp, rarp 등등
데이터링크 계층의 역할은 네트워크 매체에 직접 연결된 하드웨어 장치가 비트에 전기적인 신호를 보내는
방법을 포함하여 데이터가 네트워크를 통해 실제로 전달되는 방법에 대한 세부 정보를 지정 합니다.
대표적인 프로토콜 : 이더넷, 토큰링, 프레임릴레이 등등
물리 계층의 역할은 동축케이블, 광섬유, 또는 꼬인 구리선과 같은 케이블로 장비와 장비사이를 연결해주는
역할을 합니다.
TCP/IP 에 대한 최근 이슈는 현재 표준으로 사용중인 IPv4 를 점진적으로 IPv6 로 교체해 나가고 있다는
것입니다. 그 이유는 IPv4 보다 IPv6 가 멀티미디어 서비스를 제공하는데 더욱 적합한 기능을 하며
현재 IPv4 의 여유 IP 개수가 거의 다 떨어졌기 때문입니다.
반면 IPv6 는 거의 무한한 개수의 IP를 사용이 가능하기 때문에 현재 IPv4 에서 IPv6 로 교체 중인 작업이
세계에서 진행 중 입니다.
대역 외 데이터(Out-of-Band Data) (0) | 2016.11.30 |
---|