Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];

Вниз

И снова 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.042 c
4-1075291361
FireMan_Alexey
2004-01-28 15:02
2004.04.04
Осуществить перехват АПИ функции на Делфи


1-1079359013
лопух5345
2004-03-15 16:56
2004.04.04
Почему не закрывается форма?


1-1079080186
Tornado
2004-03-12 11:29
2004.04.04
Перенос кода


1-1079509339
MAPIIIAJL
2004-03-17 10:42
2004.04.04
Проблема с TreeView


14-1078551328
Maestro
2004-03-06 08:35
2004.04.04
Формат числа





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский