Если я хочу протестировать набор многоадресных 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-адресов на вашем сетевом адаптере. Просто убедитесь, что вы прослушиваете специфический адрес, а не на всех.
НТН