2010-07-28 2 views
1

저는 몇 년 동안 .net에서 일해 왔으며 이것이 IPC에 처음 입성 한 것입니다. 필자는 IPC (Named Pipes, Remoting, Clipboard Managment, Win32API messaging)를 할 수있는 다양한 가능성을 알고 있지만 "나에게 맞는 것"이 ​​무엇인지 모릅니다. 다음 설치를 사용할 계획입니다.C# IPC 권장 사항 및 비교

사이트 개체 : 이것이 ipc가 필요한 이유입니다. 원격 컴퓨터의 파일 모음을 나타내는 단일 객체입니다 (로컬 일 수도 있고 원격 일 수도 있음).

서버 : server.exe 프로세스는 위에서 언급 한 파일 시스템을 모니터링하고 사이트 개체를 업데이트합니다.이 프로세스는 서버에 연결된 \ 모든 클라이언트를 업데이트 된 상태로 유지하여 일정한 간격으로 사이트 개체의 새 복사본을 제공합니다 (클라이언트 강제 업데이트 또는 서버 자동 업데이트 중 하나).

고객 : "사이트"에 대해 정기적으로 업데이트해야합니다. 또한 사이트 개체를 수정할 수있는 기능을 원하거나 특정 수정을 요청하는 메시지를 서버에 보내고 자합니다.

TL : DR 버전 : 서버의 싱글 톤 인스턴스 (싱글 톤을 적극 수정합니다) , 싱글 톤을 모니터링하는 여러 클라이언트가있는 경우 클라이언트가 싱글 톤을 변경 (또는 서버 변경을 요청할 수 있음)

참고 : 모든 플랫폼이 혼합되어 있습니다. Remoting을 살펴본 결과, (또는 완전히 이해하지 못했던 응용 프로그램의 컨텍스트)

위키가 커뮤니티 위키에 더 잘 들어 맞는지 여부는 잘 모르겠습니다.

감사

+0

이것은 대학 과제와 같습니다. – sukru

+1

Remoting은 이벤트를 지원하지만 LAN에서는 예외를 사용하지 않습니다. 메시지를 앞뒤로 보내는 WCF와 이중 바인딩을 살펴볼 수 있습니다. 또한 SO를 읽으십시오 - http://stackoverflow.com/questions/56121/ipc-mechanisms-in-c-usage-and-best-practices –

+0

하, 나는 그것을 대학 과제로 바란다. 우리는 똑같은 일을 한 15 년 된 시스템을 대체하고 있습니다. 우리의 솔루션은 Shmem을 기반으로 자체 IPC를 가동하는 것이 었습니다. 우리는 비슷한 것을하기를 희망하지만 Object로 할 수 있기를 원합니다. – greggorob64

답변

3

.NET Remoting을가 .NET 2.0의 단지 기능입니다 - 일반적인 프로세스 간 commutication의 방법의 사용 (명명 된 파이프, 네트워크 소켓, HTTP를 포스트/얻을 쿼리를 단순화 기술 및 라이브러리의 집합)

.NET 3.0에서는 WCF입니다.

가사 : 보안 LAN의 컴퓨터간에 TCP 소켓을 사용하고 한 컴퓨터의 인터넷 및 IPC에서 HTTP (Soap, WebMethods 또는 HTTP 만 사용)를 사용하여 프로세스 (클라이언트 및 서버) 선택한 플랫폼 (.NET 2.0 Remoting 또는 .NET 3.0 WCF) - 이는 당신에게 달려 있습니다.

P .: .NET 2.0 Remoting 프레임 워크를 사용합니다.

+0

정보를 주셔서 감사합니다. Visual C++. net에서이 작업을 수행하고 있다는 추가주의 사항이 있습니다. WCF를 사용할 수 없기 때문에 원격 조정을 수행하는 방법을 알아 내려고 노력해야합니다. – greggorob64