Использование инфраструктуры ACE с интерфейсом bind - PullRequest
0 голосов
/ 21 декабря 2011

У меня есть сервер Linux с одним физическим интерфейсом eth0 и 3 виртуальными eth1, eth2, eth3.Сервер имеет 4 IP-адреса, необходимо использовать много IP-портов (более 100К).Сервер имеет интерфейс bond0 с 4 адресами, например .1, .2, .3 и .4.Мое приложение основано на ACE v5.5.Чтобы открыть локальный порт 1023, я использую класс ACE_SOCK_Dgram с аргументом ctor ACE_Addr = ACE_INET_Addr("0.0.0.0:1023").Оно работает.Как открыть 1023 на другом локальном IP?

Спасибо.

1 Ответ

1 голос
/ 29 декабря 2011

Я нашел решение. Использование ACE_INET_Addr("x.x.x.1:1023"), ACE_INET_Addr("x.x.x.2:1023"), ACE_INET_Addr("x.x.x.2:1024") и т. Д. В параметре ACE_SOCK_Dgram ctor позволяет вашему приложению использовать разные IP-адреса и разные порты. Вы можете управлять портом и адресом так, как вам нравится.

...