Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.04;
Скачать: CL | DM;

Вниз

И снова multicast   Найти похожие ветки 

 
Sla ©   (2004-01-22 17:15) [0]

Народ! Пожалуйста, подкиньте пример работы с мультикастами на Delphi! Я уже 3й месяц ищу и пытаюсь сделать, все никак не выходит. Выручайте!
Или может хотя бы подскажите немного? основные api я для этого знаю, но они в на си... а перевести я немогу ;((
заране спасибо


 
Verg ©   (2004-01-22 17:56) [1]

По-конретнее бы.
Что именно не выходит.
Чтиал ли это:

http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/q131/9/78.asp&NoWebCo ntent=1


 
Sla ©   (2004-01-23 17:35) [2]

Читал... не понятно :((
А конкретно не выходит подключение к группе и ловля пакетов...
тоесть даже не то что бы не выходит, незнаю как сделать... там в примерах на си написано ;(


 
Alex Konshin ©   (2004-01-23 23:02) [3]

Насчет перевода: мой unit winsock2 уже скачал?


 
Sla ©   (2004-01-24 04:45) [4]

>Насчет перевода: мой unit winsock2 уже скачал?
Нет... расскажите подробнее пожалуйста!


 
Alex Konshin ©   (2004-01-24 10:20) [5]

Зачем подробнее, потом еще будут обвинять меня в нескромности...
:-)
http://home.earthlink.net/~akonshin/index.htm


 
Verg ©   (2004-01-24 14:03) [6]

1. Создаешь сокет. Сокет должен быть либо SOCK_DGRAM либо SOCK_RAW. sock = socket(AF_INET, SOCK_RAW, <Нужный протокол>);
2. Обязательно биндишь  его (bind) на нужный порт для DGRAM или на нулевой для RAW.
3. Подписываешь его на MULTICAST
     Fillchar(Mreq, sizeof(Mreq), 0);
     mreq.imr_multiaddr.s_addr := mcast_addr;// 224.0.0.9, например
     mreq.imr_interface.s_addr := if_addr; //212.212.212.212, например
   
     setsockopt( sock,IPPROTO_IP, IP_ADD_MEMBERSHIP,
   @Mreq,sizeof(Mreq));

Где Mreq - это структура типа
TIPMreq = packed record
     imr_multiaddr : TInAddr; // Адрес мультикаста
     imr_interface : TInAddr; // Адрес сетевого интерфейса (сетевой карточки)
end;


Ну и все, собственно, читаешь/пишешь из/в него как обычно ты это делаешь сокетом.


 
Verg ©   (2004-01-24 14:07) [7]

Для полного счастья можно

val := 0;
len := sizeof(val);
setsockopt (sock, IPPROTO_IP, IP_MULTICAST_LOOP, @val, len);


Это для того, чтобы отправленные тобой на мультикастовый адрес датаграммы не прилетали тебе же самому (эхоподавление :))).


 
Rouse_ ©   (2004-01-24 20:02) [8]

> [7] Verg ©   (24.01.04 14:07)
Я бы посоветовал написать Вам статью...
Дело в том что вопросы по данному сабжу возникают постоянно...
С моей стороны почти закончена статья по мэйлслотам (первое место по вопросам в сетях)...
Если готовы содрудничать... адреса знаете...


 
Verg ©   (2004-01-26 11:40) [9]


> Rouse_ ©   (24.01.04 20:02) [8]


Может быть... Но, скорее нет, чем да...
Про это уже очень хорошо написано в книгах по сетевому программированию. Поэтому, такая статья будет просто рефератом или даже плагиатом....
Нет ни времени, и, если чесно, ни желания переписывать то, что уже написано и неоднократно.


 
Sla ©   (2004-01-27 04:45) [10]

Спасибо большое ... буду пытатся.
Но многое все таки не понятно ;(
Может пример таки есть у кого нить?



Страницы: 1 вся ветка

Текущий архив: 2004.04.04;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.029 c
1-1079508819
Dew
2004-03-17 10:33
2004.04.04
Как сделать так, чтобы при нажатии на в определенном месте картин


1-1079527534
Inimeg
2004-03-17 15:45
2004.04.04
EIBInterBaseError - что это такое


7-1074151506
alex31
2004-01-15 10:25
2004.04.04
алгоритм поиска файлов в файловой системе FAT32


1-1079498494
Malax
2004-03-17 07:41
2004.04.04
Копирование и запуск приложения


3-1078348575
yaric
2004-03-04 00:16
2004.04.04
Возможно ли отсортировать данные в TTable