将Jython集成到Cpython中

3

我即将开始一个项目,很可能会使用PyQt或Pyside。

我需要与一个有缺陷的第三方服务器软件进行接口交互,它提供C++和Java API。 Java API 更易于使用,因为您可以获得异常,而使用 C++ 库时您会得到段错误。此外,Jython 自动提供了 Python 对 Java API 的绑定,而 C++ API 的 Python 绑定不存在。

那么,CPython PyQt 客户端应用程序如何能够与这些 Java API 进行通信?你会怎么做呢?

你会在客户端上有另一个独立的 Java 进程,对对象进行序列化/打包,并通过套接字与 PyQt 进程进行通信吗?

我不想重复造轮子……是否有某种标准接口来处理这些问题?有什么技术我应该了解?RPC、Corba等?

谢谢, ~Eric

2个回答

0

如果您想保持完全隔离并增强您的健壮性(第三方库崩溃不会影响您的客户端,如果它有缺陷,我建议使用),那么像CORBA这样的东西可能是前进的道路。不要忘记Java自带一个CORBA实现,因此您只需要从IDL生成C代理即可。

如果您想在进程内运行某些内容,则Swig可能会引起兴趣。它简化了不同语言组件的绑定。特别注意它为Python和Java生成绑定


0
如果不想重复造轮子,标准库中有可用的SimpleXMLRPCServerxmlrpclib模块。它们也应该在Jython中可用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接