Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > настройка сокета для отправки на групповой адрес


Автор: petlyura 14.2.2013, 21:15
Код
WSADATA data;
  sockaddr_in addr;
  WSAStartup(0x0101, &data); 


  char name[40];
  int error = gethostname(name, sizeof(name));


  SocketSend = socket(AF_INET, SOCK_DGRAM, 0);
  setmem(&addr, sizeof(addr), 0);
  addr.sin_family = AF_INET;

  addr.sin_port = htons(RemotePort);
  addr.sin_addr.S_un.S_addr = INADDR_ANY;



  struct ip_mreq mcast;

  mcast.imr_multiaddr.s_addr = inet_addr(Address.c_str());
  mcast.imr_interface.s_addr = INADDR_ANY;





  int optval = 1; 
  error = setsockopt(SocketSend, IPPROTO_IP, IP_MULTICAST_LOOP, (char*)&optval, sizeof(optval));

  int optval1 = 1; 
  error = setsockopt(SocketSend, IPPROTO_IP, IP_MULTICAST_TTL, (char*)&optval1, sizeof(optval1));

  error = setsockopt(SocketSend, IPPROTO_IP, IP_MULTICAST_IF, (char*)& mcast.imr_interface.s_addr, sizeof( mcast.imr_interface.s_addr));

    
  error = setsockopt(SocketSend, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char*)&mcast, sizeof(mcast));


в общем пакет отправляется и доходит до получателя, если IP-шник в стиле 192.168.Х.Х, etc. Но мне нужно для multicast-адреса 224.0.0.Х и тут беда, пакет где-то теряется. сниффером слушаю порт. В первом случае видит, во втором - нет :(
что в мультикаст нужно настроить, чтобы работало? зы. может, даже не тут проблема?
плиз, хелп ми, волшебники Винграда  smile 

Автор: xvr 15.2.2013, 10:07
Цитата(petlyura @  14.2.2013,  21:15 Найти цитируемый пост)
плиз, хелп ми, волшебники Винграда 

Волшебников надо искать в разделе по сетям, а не по Builder'у  smile 

Автор: petlyura 15.2.2013, 11:14
Цитата(xvr @ 15.2.2013,  10:07)
Цитата(petlyura @  14.2.2013,  21:15 Найти цитируемый пост)
плиз, хелп ми, волшебники Винграда 

Волшебников надо искать в разделе по сетям, а не по Builder'у  smile

спасибо, ушел туда искать.
если кто-то все-таки сталкивался, подсказывайте )) спасибо

п.с. решение моей проблемы http://forum.vingrad.ru/forum/topic-362480/kw-код-multicast.html

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)