Виртуализируйте и дублируйте приложение Qt 20 раз - PullRequest
0 голосов
/ 23 мая 2018

Я хочу виртуализировать и продублировать приложение, которое я разработал на C ++ на Qt (Windows с Qt 5.9.1).Приложение уже разработано, и я хочу дублировать его 20 раз.

Примечание: каждый экземпляр приложения должен иметь свой IP-адрес, потому что мое приложение использует сеть для работы.

Я думал о работе с openVz или Docker.Каков наилучший способ виртуализации и дублирования приложения?

Ответы [ 3 ]

0 голосов
/ 23 мая 2018

Вы можете написать скрипт bat / vb, который будет запускать ваше приложение в докере в течение 20 циклов с пользовательскими настройками сети, подобными docker network create

0 голосов
/ 23 мая 2018

Вам не нужны эти инструменты.

Первое, что нужно сделать, это снять искусственный лимит «1 приложение». По умолчанию Windows допускает несколько экземпляров одной и той же запущенной программы, поэтому вы что-то сделаличтобы предотвратить это. Прекратите это делать.

Следующее, что нужно сделать, - это назначить 20 IP-адресов для машины. Это довольно прямо следует из ваших требований.

Наконец, вам нужно bind на определенный IP-адрес вместо 0.0.0.0. Перечислите все доступные интерфейсы и попробуйте их в случайном порядке. (Эффективность - если вы попробуете их в том же порядке, все 20 экземпляров будут пытаться захватить первый IP, а 19они потерпят неудачу. Во второй попытке 18 потерпят неудачу. Рандомизация означает, что большинство экземпляров связываются с несколькими попытками).

0 голосов
/ 23 мая 2018

Вам нужна команда fork() для создания нового экземпляра с другим pid.

Хороший пример: fork () в C ++

...