문제

I've never had to do IPC Windows 다.현재 내가 개발하는 한 쌍의 프로그램,표준 GUI 를 사용하여 응용 프로그램과 윈도우 서비스입니다.이는 말하는 서비스 무엇을 할 수 있습니다.그래서 가정,통신이 현지만,무엇이 될 것이 최적의 커뮤니케이션 방식에 대한 이러한 두 개의 프로세스?

는 최고로 정의된다 더 강력하고 더 적은 오류가 발생하기 쉽지 않은 가장 성능이 뛰어나 가장 쉽게 코드입니다.

코드 예제가 될 것이 매우 환영하지만,필요가 없습니다:-)

주요 요구에 대해 무엇을 사용하여,표준 TCP 소켓,named pipes,또는 다른 통신 수단을니다.

감사합니다!

도움이 되었습니까?

해결책

IPC 습니다.Net 을 사용하여 달성될 수 있:

WCF

명명된 파이프를 사용하여 이 필요합니다.Net3.0 습니다.

코드 예제


원격 기능

원래 IPC framework 발표했다.Net1.0.내가 믿는 기능을 제공하는 서비스이다.되는 더 이상이 적극적으로 개발,그리고 당신이 사용하는 것이 좋습니다 대신 WCF

코드 예제

프로세스 간의 통신을 통한 원격 기능 -사용 tcp 채널

자원


Win32RPC 를 사용하여 csharptest-net RpcLibrary

나는 프로젝트 전반에 걸쳐 최근에는 포장 Win32RPC 라이브러리를 만들고.net 클래스 라이브러리에 사용할 수있는 로컬 및 원격 RPC

프로젝트 홈 페이지: http://csharptest.net/projects/rpclibrary/

MSDN 참조:

또한 google 프로토콜 버퍼 rpc 클라이언트에서 실행되는 최상의 라이브러리: https://code.google.com/p/protobuf-csharp-rpc/


WM_COPYDATA

완전성을 위해 그것을 사용하는 것도 가능하 WIN32 방법 WM_COPYDATA 메시지입니다.나는 이 방법을 사용하기 전에습니다.Net1.1 단일 인스턴스를 만들 응용 프로그램 개 여러 파일에서 윈도우 탐색기에 있습니다.

자원

소켓

를 사용하여 사용자 정의 프로토콜(어렵)

다른 팁

현지만,우리는 성공이라는 이름을 사용하여 파이프입니다.오버헤드를 방지합 TCP,과 꽤 많(적어도 한다.NET)을 효율적으로 얻을 수 있도 괜찮은 API 니다.

때문에 당신이 제한됩니다.Net2.0WCF 은 아마도 옵션을 선택하지 않습니다.당신이 사용할 수 있습니다..Net 원격 공유 메모리가 기본으로 통신 메커니즘을 사용한 도메인에 동일한 기계입니다.이 방법을 사용하여 쉽게 프로세스에서 다른 컴퓨터를 교체 공유 메모리를 프로토콜 네트워크 프로토콜입니다.

표준 방법과 의사 소통의 윈도우 서비스를 사용하는 서비스 제어 코드.윈도우 서비스를 받을 수 있는 코드는 0 에서 255 까지 선택할 수 있습니다.0-127 의는 예약 시스템입니다.128 255 개의 사용될 수 있습에 대한 사용자 정의 명령입니다.

보내야 하는 경우 복잡한 물체의 서비스를 사용하여 데이터베이스,xml,파일,tcp,http etc.보 보내는 명령어 처럼 다시 구성,프로세스 항목 등을 이어 코드를 사용해야 합니다.

거기에 추가 기능을 사용할 수 있 같은 쿼리하는 서비스입니다.보 윈도우의 서비스 설명서하고 api 를 사용합니다.

http://arcanecode.com/2007/05/30/windows-services-in-c-sending-commands-to-your-windows-service-part-7/

당신의 최선의 방법은 사용하 WCF.할 수 있을 만드는 호스트 서비스에 윈도우 서비스 및 노출이 잘 정의된 인터페이스는 응용 프로그램를 사용합니다.WCF 자를 통해 통신 이름이 파이프를 선택하는 경우,또는 당신이 선택할 수 있는 다른 통신 protocal 다음과 같 TCP,HTTP,etc.WCF 를 사용하여 당신은 훌륭한 도구를 지원하고 많은 사용할 수 있는 정보.

나에 추가하려는 이 논의한다.시기 바랍 저를 책망하는 경우 이은 방법이있다-그러나 수 없는 세마포(또는 여러 세마포)사용에 대한 기본적인 통신이란?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top