Различное поведение EnableStatic на Windows Server 2016 - PullRequest
0 голосов
/ 13 мая 2018

Я написал программу на C ++, работающую на 2 узлах кластера, которая должна добавлять \ удалять виртуальный IP-адрес с сетевой карты на каждом узле (следуя некоторой логике, которую я написал ..).Для этого я использую метод EnableStatic класса Win32_NetworkAdapterConfiguration (https://msdn.microsoft.com/en-us/library/aa390383(v=vs.85).aspx).

). В этой программе у меня есть 2 кнопки: «Release VIP» и «Acquire VIP». Я использую RDP для соединения этих узлов (используя постоянныйIP, а не VIP).

Для версии VIP я звоню: EnableStatic ({"1.1.1.5"}, {"255.255.0.0"});

Для получения VIP я звоню:EnableStatic ({"1.1.1.5", "1.1.1.80"}, {"255.255.0.0", "255.255.0.0"});

(для этого примера 1.1.1.80 - VIP)

Когда я сделал это в Windows 2012, все работало нормально, и я смог добавить / удалить виртуальный IP-адрес.

Теперь, в Windows 2016, мой RDP теряет соединение на 2-3 секунды какрезультат изменения VIP на сетевой карте (как добавление, так и удаление ..).

Я знаю, что в этой документации API Microsoft пишет, что RDP должен потерять соединение, но мне интересно:

  1. Почему этого не произошло в Windows 2012?

  2. Они внесли какие-либо изменения?

  3. Может я что-то не так делаю?

И еще важнее:

  1. Имеет ли это другой эффект, кроме разрыва соединения RDP, которыйЯ должен знать о ??

  2. Есть ли лучший API для использования?

Большое спасибо!

...