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

Вниз

Как создать BROADCAST сообщение?   Найти похожие ветки 

 
serd_hhc   (2002-12-01 04:59) [0]

Уважаемые мастера, объясните мне, пожалуйста, как создать многоадресное сообщение? А то мой код не пашет...

var
WSAData:TWSAData;
addr:sockaddr_in;
sock:TSocket;
buf:array[0..15] of char;
gh: PChar;
begin
WSAStartup(MakeWord(1,1), WSAData);
Writeln("[Initializing]");
sock:=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);

addr.sin_addr.S_addr:= INADDR_BROADCAST;
addr.sin_family := AF_INET;
addr.sin_port := htons(3114);

gh:=PChar(inet_addr("255.255.255.0"));
if setsockopt(sock,SOL_SOCKET,SO_BROADCAST,gh,sizeof(gh))<>0 then
Writeln("[BROADCAST disabled :(]");
Writeln("[UDP client, port 3114]");
buf:="1";
while buf<>"" do
begin
Write("= Please enter buffer to send: ");
Readln(buf);
sendto(sock,buf,sizeof(buf),0,addr,sizeof(addr));
Writeln("[Data has been send]");
end;
closesocket(sock);
WSACleanUp;
end.

пишет, что "[BROADCAST disabled :(]"...


 
Digitman   (2002-12-01 11:31) [1]

чему равен результат вызова WSAGetLastError() сразу же за вызовом отказавшей ф-ции setsockopt() ?


 
serd_hhc   (2002-12-02 05:14) [2]

он равен -1... это ладно... я ошибся... надо было
var gh: boolean;
...
gh:=true;
setsockopt(sock,SOL_SOCKET,SO_BROADCAST,@gh,sizeof(@gh));
...

... с этим я рахобрался, но вот как быть с не с BROADCAST, а MULTYCAST сообщениями?
как их создать???


 
Digitman   (2002-12-02 08:33) [3]

>он равен -1.

WSAGetLastError() не может возвращать такого кода ошибки, не выдумывай


Для каких целей тебе нужен MULTYCAST ?


 
serd_hhc   (2002-12-02 20:42) [4]

Я перепутал, с числом, которое возвращает setsockopt... сорри...

Так говорят, что он сеть меньше грузит, удобнее :))


 
Malder   (2002-12-02 23:09) [5]

Разъясните что такое MULTYCAST ?


 
Digitman   (2002-12-03 08:18) [6]


> Я перепутал


Ну так - где ? Где код ошибки-то ? Какой он в действительности ?


> говорят, что он сеть меньше грузит


Ерунда полная. К тому же MULTYCAST - понятие несколько из другой оперы.


 
Malder   (2002-12-03 18:57) [7]

Разъясните что такое MULTYCAST ?


 
Morfein   (2002-12-03 22:34) [8]

2 Digitman : Интересно, а если внутри функции WSAGetLastError() произойдёт ошибка, что она вернёт в этом случае?


 
Digitman   (2002-12-04 08:19) [9]

>Morfein

Не занимайся ерундой) .. WSAGetLastError() никогда не вернет ошибки, ибо все что она делает - считывает и возвращает значение потокозависимой внутренней переменной, хранящей код последней возникшей ошибки (если она вообще была)


 
Malder   (2002-12-05 18:20) [10]

Люди. Может все таки скажите что такое MULTYCAST.
Может вы считаете, что это оффтопик ? Тогда я новую ветку сделаю =)


 
Digitman   (2002-12-06 08:36) [11]

>Malder

Ноги, очевидно, растут из архитектуры адресации удаленных интерфейсов в IP-протоколе версии 6

см.
http://book.itep.ru/4/44/ip6_4411.htm#point17



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

Форум: "Сети";
Текущий архив: 2003.01.30;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.008 c
6-96912
AlexVit
2002-12-05 06:37
2003.01.30
TNMMSGServ-компонента дает сообщение


1-96803
vil
2003-01-20 13:03
2003.01.30
SetFocus


3-96613
Роман Лицевич
2003-01-13 19:47
2003.01.30
Проблема с методом Locate


14-96962
AZ
2003-01-10 23:11
2003.01.30
Мужики ли мы?


3-96582
Борис
2003-01-05 13:36
2003.01.30
IBUpdateSQL Хитрый запрос.





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