2016-06-05 7 views
0

.NET에서 Bridge 응용 프로그램을 작성해야하며 클라이언트는 Java RMI입니다. 가능한 경우 .NET에서 서버를 구현하는 올바른 방법을 찾고 있습니다.JRMI 클라이언트에서 .NET 원격 함수 호출

+0

아니요. Java RMI는 Java Serialization에 의존하고 있으며이를 위해 JVM이 필요합니다. – EJP

답변

0

순수한 .NET에서 브리지를 개발하는 것이 불가능하지는 않지만 거의 확실하게 문제가되지는 않습니다. 클라이언트를보다 상호 운용 가능한 기술 (일부 다중 언어 RPC 또는 REST)으로 변경할 수없는 경우 RMI의 Java 서버 측을 브리지 응용 프로그램에 통합하는 방법을 고려하십시오.

예를 들어, C/C++로 개발 한 "네이티브"프로세스에서 JVM을 호스트하거나 원시 코드 DLL을 JVM 프로세스에로드 할 수 있습니다. 두 경우 모두 JNI를 사용하여 Java에서 C/C++로 통신합니다. 또한 C++/CLI에서 C/C++ 측면을 개발하여 .NET으로 전환 할 수 있습니다. (이것은 내가 개인적으로 사용한 적이없는 동일한 프로세스에서 실행되는 JVM과 CLR의 흥미로운 시나리오로 연결됩니다.)

또는 서버 측 Java와 .NET을 별개의 프로세스로 분리 할 수 ​​있습니다. 다중 언어 RPC 또는 REST를 사용하여 다시 의사 소통하게하십시오 (클라이언트 변경이 필요 없음). 브리징 할 인터페이스가 큰 경우, 지루하고 오류가 발생하기 쉬운 대규모 JNI 인터페이스의 원시 측을 작성하는 방법을 선호 할 수 있습니다.