在运行中的Windows服务中使用Python调用RPC函数

0 投票
1 回答
1717 浏览
提问于 2025-04-15 14:54

我有一个Windows服务(充当服务器),我想用Python脚本来测试它。这个服务是用C++写的,提供了几个RPC(远程过程调用)功能,其他服务可以使用这些功能。我想用我的Python程序来模拟这些其他服务,并从脚本中调用这些RPC功能。这是第一步。第二步是,当服务器服务通过另一个RPC调用来回应它的调用者服务时,该怎么做呢?我该如何在Python中实现这一点?

如果Python(或者它的任何扩展)不能调用或接收这些RPC,那我是否可以通过修改主服务器服务的代码,添加必要的代码,使其能够调用原本RPC执行的相同功能,但可以从Python中调用呢?

注意:这个服务器服务是通过原生的Windows RPC实现的,使用了IDL文件。其他服务也是用C++写的,它们想要使用这些RPC功能,都是通过IDL文件生成所需的接口来进行通信的。使用XML-RPC或其他技术都不是选项。

1 个回答

1

你在想哪种远程过程调用(RPC)呢?如果是XML-RPC的话,Python自带了一个叫做SimpleXMLRPCServer的模块,这个模块可以让你用Python来写RPC服务器。

如果远程服务器使用的是DCOM,你可以使用PythonCOM

撰写回答