Форум: "Сети";
Текущий архив: 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.009 c