Я работал над протоколом маршрутизации algo в c ++ на centos. centos работал на vmware ..
Я смог зарегистрировать mcast-адрес 224.0.0.9, когда моя интерфейсная карта подключена в режиме моста в vmware. но поскольку я подключил свои centos с маршрутизатором cisco, используя gns3 cloud, я получил ошибки
поэтому общий топольгой похож
cenots ++ bridgemode ----- bridgemode + centos//возможность добавлять в группу
centos + - vmnet1 ----------- + vmnet1 (gns3cloud --- cisco router)//невозможно добавить в группу
h=gethostbyname("224.0.0.9");
if(h==NULL) {
cout << "unknown group address"<
if
memcpy((char *) &mcastAddr.sin_addr.s_addr,h->h_addr_list[0],h->h_length);
mreq.imr_multiaddr.s_addr=mcastAddr.sin_addr.s_addr; //
mreq.imr_interface.s_addr=htonl(INADDR_ANY);
int mc = setsockopt(soc,IPPROTO_IP,IP_ADD_MEMBERSHIP,(void *) &mreq, sizeof(mreq));
if(mc<0) {
cout <<"unable to join MCAST GROUP"<
}
errno возвращается.
ОШИБКА: Нет такого устройства
ps # существует только один интерфейс eth0, с помощью которого m можно выполнить ping cisco router
Любой указатель приветствуется
благодаря