Есть ли способ проверить многоадресный IP-адрес на одном поле?

Если я хочу протестировать набор многоадресных IP-программ (отправитель/получатель) без необходимости настройки сети, можно ли это сделать в одном окне? Если да, то что нужно настроить или сделать по-другому?

Ответ 1

Возможно, вы уже это выяснили (так как вопрос сейчас 2 года), но для многоадресной рассылки на одном хосте вам нужно сделать только две вещи: (1) убедитесь, что ваши принимающие многоадресные сокеты имеют SO_REUSEADDR (так что несколько процессов могут связывать один и тот же адрес многоадресной рассылки), и (2) убедитесь, что ваши отправляющие многоадресные сокеты имеют IP_MULTICAST_LOOP (чтобы пакеты были "зациклированы" на приемники в той же системе). Если ваше приложение использует один сокет для отправки и получения многоадресных рассылок, вы должны установить на нем оба параметра сокета.

int recv_s = socket(AF_INET, SOCK_DGRAM, 0);
int send_s = socket(AF_INET, SOCK_DGRAM, 0);
u_int yes = 1;
setsockopt(recv_s, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(yes));
setsockopt(send_s, IPPROTO_IP, IP_MULTICAST_LOOP, &yes, sizeof(yes));

Ответ 2

Возможно, это не то, что вы ищете, но когда я писал код, который использовал кучу широковещательных и сокетов и т.д., я просто создал две виртуальные машины в VMWare, загрузил их с живых компакт-дисков и загрузил мой код. Если ваш код работает в Windows, просто выполните две установки Windows. VMWare помещает машины в одну и ту же подсеть, поэтому связь между ними работает нормально, широковещательно и все. (и я предполагаю многоадресную рассылку, хотя я не имел прямого опыта с этим.)

Ответ 3

Почему бы не скачать пробную версию VMWare? Это займет некоторое время, но настройте виртуальную машину. Затем запустите x-копии виртуальной машины в вашей одной системе (если можете). У каждого будет виртуальный сетевой адаптер. Затем вы можете настроить сеть таким образом, чтобы каждый из них был доступен в одной сети. Затем сделайте свое тестирование.

Ответ 4

Требуется некоторое количество настроек сети. Если вы не хотите создавать физическую сеть, вы можете добавить несколько IP-адресов на одну сетевую карту. Если ваш компьютер имеет более одной сетевой карты, вы даже можете создать сеть с двумя картами и концентратором. Кроме того, если на вашем аппарате есть беспроводной интерфейс и проводной интерфейс, то подключение вашего компьютера к беспроводному концентратору через беспроводной и проводной интерфейсы также обеспечит вам сеть.

Надеюсь, что одна из этих идей поможет. Pat O

Ответ 5

Я бы сказал, что проще всего было бы настроить несколько IP-адресов на вашем сетевом адаптере. Просто убедитесь, что вы прослушиваете специфический адрес, а не на всех.

НТН