일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 소니
- Firebird
- 시리얼 통신
- winsock
- 입문
- 셋업
- 초보
- SDK
- PostgreSQL
- 문자열
- vb
- Visual Basic
- dll
- 설치
- Visual Studio 2005
- c#
- 파라미터
- 기초
- SQL
- WIN32 SDK
- 델파이
- xml
- VB.NET
- MySQL
- 인스톨
- 파이어버드
- 데이터베이스
- 예제
- MFC
- Delphi
- Today
- Total
목록프로세스간 통신 (4)
프로그래밍 노트
WCF(Windows Communication Foundation) 나도 잘 몰라서 설명을 잘 못하겠다.그래도 우선 아래 소스는 이해가 갔다. 프로세스간 통신을 하려면 이전에는 여러가지 방법이 있었다.그런데 WCF는 그것을 간단하게(?) 해결하여준다. WCF를 이해하기 위해서는 몇가지 알아야할 개념이 있다.난 복잡한 것을 잘 모르니까 그냥 내가 이해한 대로 나를 위해 적어본다. WCF로 프로세스간 통신을 하기위해서는 서버와 클라이언트가 필요하다.WCF는 서버의 함수들을 클라이언트에서 호출할 수 있게 해준다. 서버의 함수를 클라이언트에서 호출을 할 수 있게 하기 위해서 해야되는 몇가지 작업이 있다.우선 EndPoint라는 것을 서버에도 클라이언트에도 만들어주어야한다.어떤 프로세스간 통신을 하더라도 서로 통..
프로세스간 통신이 되면 여러가지로 편리한 점이 있다. 프로세스간 통신을 하는 간단한 방법으로는 메모리 맵 파일이 있다. 어떤 프로세스에서 쓰고 있는 메모리는 가상 메모리로 그 어드레스는 가상 메모리의 어드레스이다. 따라서 다른 프로세스에 있어서는 의미가 없는 어드레스이다. 어떤 프로세스에서 물리 메모리의 어드레스를 가상 메모리로 매핑하여 읽고 쓰면 다른 프로세스에서도 그 메모리에 대하여 읽고 쓰기가 가능하다. 파일 매핑을 이용한 프로스세간 통신 예제 ◆ 공유 메모리 생성과 공유 메모리에 쓰기(서버) #include #include #include #define DATA_LEN 1024 LPSTR lpMapping; int main() { BOOL bEnd = FALSE; char szData[DATA_L..
====================================================================== #include #include #include #define EvtName "PipeEvent" #define PipeName "\\\\.\\pipe\\TestPipe" HANDLE hEvent, hFile; int main() { char szBuf[1024]; DWORD dwWritten; hEvent = OpenEvent(EVENT_ALL_ACCESS, FALSE, EvtName); if (hEvent == NULL) { printf("이벤트 열기 실패\"); _getch(); return -1; } hFile = CreateFile(PipeName, GENERIC_WRI..
파이프를 만들면 클라이언트가 접속하는 것을 기다려야된다. 일반적으로 스래드를 만들어 기다리게 한다. 이 예제는 클라이언트에서 보낸 자료를 표시하게만 한다. 스레드는 영구 루프로 만들고 그 안에서 ReadFile함수를 호출한다. 클라이언트가 아무것도 쓰지 않았을때에 ReadFile을 하면 에러가 됨으로 대기 함수를 사용하여 이벤트를 기다리는 것으로 한다. 클라이언트 쪽에서 쓰기 직전에 이벤트를 시그널 상태로 한다. 루프 안에서 읽기가 끝나면 바로 이벤트를 비시그널 상태로 하고 다음의 쓰기를 기다리는 상태로 한다. 프로그램을 종료 할때는 클라이언트 쪽에서 quit라 써서 보낸다. 서버쪽에서는 읽어들인 문자열이 quit이면 루프에서 빠져나와 처리를 종료한다. main 함수 이름있는 파이프를 만들고 이벤트를 만..