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

Вниз

Как создать 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.02 c
4-97105
feniks1
2002-12-14 17:39
2003.01.30
как быть без компонентов


1-96840
freeek10
2003-01-20 20:56
2003.01.30
ListBox


1-96652
kerkonst
2003-01-21 14:05
2003.01.30
Видимость компонент на форме


1-96853
Старина Герасим
2003-01-21 10:17
2003.01.30
Подскажите, пожалуйста, как написать резидентную прогу.


3-96581
Чайник
2003-01-13 11:28
2003.01.30
LookupComboBox