我需要在.NET中编写Bridge应用程序,并且客户端是Java RMI。如果可能,我试图找到在.NET中实现服务器的正确方法。
这不是不可能,但几乎肯定不值得在纯.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接口的本机端,我发现这很乏味且容易出错。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句