2014-12-26 1 views
0

C DLL 새로운 데이터 제공 과정, 사이 IPC를 클라우드 기반C.로 작성된 DLL을 호출하는 C#으로 작성된 나는 윈도우 UI를

데이터는 사용하여 C#을 UI 및 C DLL간에 교환

pInvoke를 통해 사용 가능한 마샬링 기술. UI와 DLL은 모두 레거시 코드입니다.

모든 소프트웨어가 클라우드에서 실행됩니다. 특히 Amazon Web Services (AWS)에서 그러나 모든 클라우드 서비스 제공 업체 (Azure, Google 등)는 이식 가능합니다.

독점 데이터베이스에서 데이터를 읽고 기존 DLL에서 데이터를 요청하는 것을 제외하고는 별도의 AWS (또는 기타) 인스턴스에서 실행되는 새로운 C 코드 ("NewCode")를 작성해야합니다. .

많은 이유 때문에이 NewCode는 메모리, cpu 및 디스크에 대해 독점적으로 액세스 할 수 있도록 자체 인스턴스에서 실행해야합니다. Newcode는 다양한 데이터 요청 (단일 숫자, char 문자열, 숫자 배열, 문자열 배열 등)을 처리해야합니다. NewCode는 휴대용 C이므로 Linux, Unix 등에서 실행할 수 있습니다.

내 질문 :

기존 C DLL을 NewCode와 통신하는 데 사용할 수있는 옵션은 무엇입니까? 옵션 목록과 상대적인 장점을 묻는 것은 너무 광범위한 주제라는 것을 알고 있습니다. 그래서 여기에서 요구되는 것은 목록에 있어야하는 것입니다. 그래서 연구를 시작할 수 있습니다. 나는이 지역의 완전한 초보자이지만, 지금까지 나는 그 목록에 소켓과 파이프가 있어야한다고 결정했다. 그 밖의 무엇이 목록에 있어야합니까?

답변

0

NewCode가 네트워크를 통해 통신하므로 프로토콜 버퍼를 조사합니다. 프로토콜 버퍼는 서로 다른 운영 체제를 실행하는 개별 시스템의 프로세스간에 통신하는 데 가장 효율적일 수 있습니다. 많은 다른 언어에 대한 프로토콜 버퍼 구현이 있으며, 모두 미리 정의 된 동일한 구조 정의를 사용합니다.

물론 XML, JSON 또는 사용자 고유의 바이너리 프로토콜과 같은 다른 옵션이 있습니다.

https://code.google.com/p/protobuf/

관련 문제