这是我的场景:我开发了一个Python桌面应用程序,用于在运行它的同一台机器上探测服务/数据库的状态。
我需要使用我的应用程序监视两个“兄弟”Window Server 2003主机(两者的Python版本为2.5)。其中一个主机位于我自己的局域网中,另一个位于另一个可通过VPN访问的局域网中。
申请表由:
组成gui.py
),它提供小部件来收集用户输入并启动... console.py
),它反过来调用从属Python脚本,检查系统的服务和数据库使用/帐户状态/ ecc。然后将这些检查的文本输出返回给GUI。我曾经在两台机器上直接执行应用程序,但将它转换为客户机/服务器应用程序会很棒,所以:
gui.py
运行gui.py
将被认为是将参数传递给将在两个Windows主机上运行的console.py
的某些服务器重制版我想到了两种可能的解决方案:
console.py
的代码并等待来自客户端的传入请求console.py
。 我正在开发一个企业环境,它有一些网络和主机限制:许多网络协议(如SSH)都由我们的企业防火墙过滤。此外,我对Windows主机没有管理权限,因此我无法在它们上安装系统服务......这很令人沮丧!
我只是想问一下是否有其他方法让gui.py
和console.py
通过网络进行通信,而我没有考虑到这一点。有没有人有任何建议?请注意 - 如果可能的话 - 我不会要求ICT部门给我Windows主机的管理权限!
提前致谢!
答案 0 :(得分:0)
回答自己:我找到了一个可能的解决方案..
我很幸运,因为console.py
脚本实际上正在调用许多从属python脚本,每个脚本都通过标准的第三方命令行工具执行一次系统检查,可以触发这些工具来检查远程主机上的功能
然后,我所做的是修改gui.py
和console.py
,以便用户可以参数化地指定必须在哪个Windows主机上执行检查。
通过这种方式,我可以获得一个ditributed应用程序...但我很幸运,如果一个或多个第三方CL工具不支持远程主机功能检查怎么办?