虚拟化和复制Qt应用程序20次



我想虚拟化和复制我在Qt(Windows与Qt 5.9.1(上C++开发的应用程序。 该应用程序已经开发完成,我想复制它 20 次。

注意:应用程序的每个实例都需要具有不同的 IP 地址,因为我的应用程序使用网络来工作。

我考虑过使用 openVz 或 Docker。虚拟化和复制应用程序的最佳方法是什么?

你不需要这些工具。

首先要做的是删除人为的"1 个应用程序"限制。默认情况下,Windows 允许同一正在运行的程序的多个实例,因此您采取了一些措施来阻止它。别这样了。

接下来要做的是为机器分配 20 个 IP 地址。这完全直接符合您的要求。

最后,您需要bind特定的IP地址而不是0.0.0.0。枚举所有可用的接口,并按随机顺序尝试它们。(效率 - 如果您以相同的顺序尝试它们,所有 20 个实例都会尝试抓取第一个 IP,其中 19 个实例会失败。在第二次尝试中,18 次将失败。随机化意味着大多数实例与几次尝试绑定(。

您需要命令fork()来创建具有不同 pid 的新实例。

一个很好的例子:C++中的fork((

您可以编写一个 bat/vb 脚本,该脚本将在 docker 中运行您的应用程序 20 次循环,自定义网络设置类似于docker network create

  • https://docs.docker.com/network/host/
  • https://docs.docker.com/v17.09/engine/userguide/networking/get-started-macvlan/#macvlan-8021q-trunk-bridge-mode-example-usage

相关内容

最新更新