информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Сетевые кракеры и правда о деле ЛевинаПортрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 700 с лишним git-серверов пострадало... 
 От повторного пришествия Шаи-Хулуда... 
 Крупный сбой Azure и других сервисов... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[C++] Multicast, WinXP и IP-адреса 31.03.08 06:47  
Автор: Nevidimov Статус: Незарегистрированный пользователь
Отредактировано 31.03.08 06:53  Количество правок: 2
<"чистая" ссылка>
Здравствуйте, господа!
Пишу программу на VisualC для пересылки данных по UPD мультикастом.

Испытание на одной машине проходят удачно - клиент ловит сообщения сервера. Но при раздельном испытании клиент проявляет острую слепоту. При проверке сниффером оказалось, что сервер честно шлет пакеты на указанный ему адрес 234.5.6.7, а клиент вопреки указанному ему в коде того же адреса, считывает из непонятно откуда взявшегося 0.254.18.0... %)

Серверная часть у мня выглядит так:
#define DESTINATION_MCAST "234.5.6.7"
...
nRet=setsockopt(hSock,IPPROTO_IP,IP_MULTICAST_LOOP,(char FAR *)&nOptVal, sizeof(int)); 
nRet = setsockopt (hSock, IPPROTO_IP, IP_MULTICAST_TTL, (char FAR *)&nOptVal, sizeof(int));

sockaddr_in stDestAddr;
stDestAddr.sin_family = AF_INET;
stDestAddr.sin_addr.s_addr = inet_addr (DESTINATION_MCAST); 
stDestAddr.sin_port = htons (DESTINATION_PORT); 

---

В клиентской версии:
#define DESTINATION_MCAST "234.5.6.7" 
... 

sockaddr_in stSrcAddr; 
stSrcAddr.sin_family = AF_INET; 
stSrcAddr.sin_port = htons (DESTINATION_PORT); 
stSrcAddr.sin_addr.s_addr = INADDR_ANY; 
...
mreq.imr_multiaddr.s_addr = inet_addr (DESTINATION_MCAST);
...
nRet = setsockopt (hSock, IPPROTO_IP, IP_ADD_MEMBERSHIP,(char FAR *)&mreq, sizeof (struct ip_mreq)); 
 

---
При отладке смотрел - у клиента айпишник в stSrcAddr прописывается нормально. Где я на портачил?
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach