Главная страница
    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.035 c
3-1078910986
Карелин Артем
2004-03-10 12:29
2004.04.04
Навигатор и позиция в наборе данных.


8-1069342227
Roa
2003-11-20 18:30
2004.04.04
Формирование миниатюры изображения


1-1079284537
$tranger
2004-03-14 20:15
2004.04.04
Помогите с переводчиком


3-1078512059
dma_database
2004-03-05 21:40
2004.04.04
TTable TDataBase


3-1078912232
mixam
2004-03-10 12:50
2004.04.04
BDE





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский