gpt4 book ai didi

python - 从 Linux 调用 Windows 中的 exe

转载 作者:太空宇宙 更新时间:2023-11-04 04:08:41 25 4
gpt4 key购买 nike

背景知识:Django 中的网站在 apache 下运行。

简单来说,我需要从Linux机器上调用Windows机器中的.exe程序。

原因是我们的网站在 Linux 上运行,但其中一个模块依赖于 Windows DLL。所以我们打算把它放在一个单独的windows服务器上,并使用一些方法来调用exe程序,并获取结果。

我的想法是:在Windows机器上设置一个Web服务,向其发送一些数据,让其处理exe程序,并返回一些数据作为响应。请注意,请求数据和响应数据都将包含文件。

我想知道是否有更简洁的方法?

编辑:感谢@fhs,我发现我没有把我的主要问题说得足够清楚。是的,网络服务可以工作。但这样做的主要缺点是:基本上,我需要发布多个文件到 Windows; windows接收文件,保存它们,使用这些文件作为参数调用程序,然后将结果文件打包成zip并返回。在linux中,接收文件,将其解压到本地文件系统。确实有点麻烦。

那么,有什么方法可以让两台机器像在本地文件系统中一样轻松地访问对方的文件吗?

最佳答案

我可以想出一些方法来做到这一点:

  • 使用具有真正 REST 协议(protocol)和跨站点脚本保护的网络服务
  • 使用 WINE(正如 OneOfOnes 在他的评论中建议的那样)
    但这对于实际生产来说风险很大,可能根本不起作用(或者只是在负载变得更重时)
  • 在 Windows 机器中编写一些代码,并使用 Zero-MQ (ZMQ) 或类似产品来调用此代码

根据您使用此库的方式,一种解决方案可能比其他解决方案更适合。

对于大多数情况,我建议使用ZMQ
这样您就可以使用更复杂的通信模型(订阅-订阅者、发送-响应等)
此外,如果需要的话,使用 ZMQ 可以让您以非常简单的方式进行扩展(您将能够放置少量 Windows 计算机来处理请求)

编辑:
要支持机器之间的文件传输,您也有几个选择。

  • 使用ZMQ。文件可以只是数据流。
    用ZMQ支持这样的流没问题
  • 文件服务器与某些查询结合使用。程序
    查询。可以通过ZMQ msg通知对方文件已准备好
    您可以使用文件夹共享来代替文件服务器,但在 Windows 计算机上共享文件将不是一个可扩展的解决方案
  • Windows程序可以通过FTP或SSH将文件发送到Linux服务器。
    再次,信号发送(文件准备好、文件名等)可以通过 ZMQ 完成

关于python - 从 Linux 调用 Windows 中的 exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20139979/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com