Головна сторінка
Top.Mail.Ru Яндекс.Метрика
Форум: "Мережі";
Поточний архів: 2002.12.23;
Завантажити: [xml.tar.bz2];

Вниз

Вибачте що питання трохи не в тему UDP Знайти схожі гілки


Romych   (2002-10-24 12:26) [0]

Скиньте пожалуйста примерчик как послать получить широковещательное сообщение по сети с помощю Udp, InDy, ICS а то в форуме по сетях НИКТО не скажет как это далать, а просто критикуют может кто знает ссылку в Интернете на статью. А то я нашел ссылку где посылаю сообщение с помощью АПИ а ловлю UDP но в этом случае очень большие потери.



:)   (2002-10-24 12:29) [1]

меня сей вопрос тож интересует ...
помогайте кто знает чё там и куда :)



Romych   (2002-10-24 12:57) [2]

Неужели никто не посылал в сеть широковещательные сообщения, помогите сделать человеку программу для посылки сообщений по сети.



Digitman   (2002-10-24 13:04) [3]

>>с помощью АПИ ...очень большие потери

А ты считаешь, компонеты все эти минуя WinsockAPI выполняют бродкаст ?



romych   (2002-10-25 00:59) [4]

Не заю, но в конференции по сетях сказали чо таких потерь быть не должно, и что я делаю не правильно, а как правильно никто не сказал :)



Digitman   (2002-10-25 11:29) [5]


> что я делаю не правильно


А что ты вообще делаешь ? Код-то приведи



romych   (2002-10-25 13:06) [6]

Кодом со мной поделились :)

unit Unit1;

інтерфейс

використовує
Windows, SysUtils, Forms,
Classes, Controls, Buttons, NMUDP, ExtCtrls, Grids, Dialogs,
StdCtrls, strgrdex, ScktComp, Menus;

procedure TForm1.FormCreate (Sender: TObject);
починати
NMUDP1.LocalPort := 6767;
end;

procedure TForm1.NMUDP1DataReceived (Sender: TComponent;
NumberBytes: Integer; FromIP: String; Port: Integer);
Кожен
sb : String;
j, i : Integer;
починати
NMUDP1.ReadBuffer(stArr, i);
SB:=StringOfChar(" ", NumberBytes);
For j:=1 to NumberBytes do sb[j]:=stArr[j];
Memo1.Lines.Add(sb);
Buffer:=Buffer+SB;
end;


procedure TForm1.VykonatyKomandu(s : str4);
було
Init :TWSAData;
SockOpt :BOOL;
Sock :TSocket;
Target :TSockAddrIn;
//
stData, LineMemo, Komu : String;
DataBytes : Word;
i , j, LenStr, KodKom : Word;
KodS : Byte;
починати
WSAStartup( $101,Init );
Sock := Socket( PF_INET, SOCK_DGRAM, IPPROTO_UDP );
SockOpt := TRUE;
SetSockOpt( Sock, SOL_SOCKET, SO_BROADCAST, PChar(@SockOpt), SizeOf(SockOpt) );
//
Target.sin_port := htons( 6767 );//номер порта
Target.sin_addr.S_addr := INADDR_BROADCAST;
Target.sa_family := AF_INET;
//
stData:="<"+MyNic+";"+MyIp+";"+Komu+";"+s+";"+IntToStr(KodKom)+";>";
//
DataBytes := Length( stData );
//
for i:= 1 to DataBytes do
починати
stArr[ i ] := stData[ i ];
end;
SendTo( Sock, stArr, DataBytes, 0, Target, SizeOf(Target) );
//
WSACleanup;
end;



end.



Digitman   (2002-10-25 13:32) [7]

где анализ результата, возвращаемого ф-цией SendTo() ?



romych   (2002-10-25 21:27) [8]

Как его анализировать?



Wonder   (2002-10-25 21:39) [9]

значення, що повертається
If no error occurs, sendto() returns the total number of characters sent. (Note that this may be less than the number indicated by len.) Otherwise, a value of SOCKET_ERROR is returned, and a specific error code may be retrieved by calling WSAGetLastError().

Неужели так трудно посмотреть документацию?



Malder   (2002-10-27 13:11) [10]

http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1035216263&n=4



сторінки: 1 вся гілка

Форум: "Мережі";
Поточний архів: 2002.12.23;
Завантажити: [xml.tar.bz2];

наверх









Пам'ять: 0.58 MB
Час: 0.027 c
8-74859
DNT
2002-09-06 17:19
2002.12.23
Синтезування звуку.


1-74840
Сутковой Вадим
2002-12-11 21:22
2002.12.23
Енгл Рос


1-74685
Gennadiy
2002-12-10 18:33
2002.12.23
Робота з текстовим файлом


14-74974
хватка
2002-12-01 12:05
2002.12.23
У чому сила Delphi


4-75043
Капітан
2002-11-10 13:06
2002.12.23
зміна курсору





африкаанс албанський арабська вірменин азербайджанець баскський білоруський болгарська каталонський Китайська (спрощене письмо) Китайський традиційний) хорватський чеська данську мову нідерландський Ukranian естонець Філіппінська фінську мову французький
галісійська грузинський німецький грецький гаїтянський креольський давньоєврейську хінді угорський ісландський індонезієць ірландський італійський японський корейський латиська литовець македонець малайський мальтійський норвежець
перс полірування португальська румунський російська сербський словацький словенський іспанська суахілі шведську мову тайський турецька український урду в'єтнамський валлійський ідиш бенгальський боснійський
кебуано есперанто гуджараті хауса хмонг ігбо яванський каннада кхмерская Лао латинь маорі маратхі монгольський непальська панджабі сомалійський тамільська телугу йоруба
зулуський
Англійська Французький Німецький Італійський Португальська Русский Іспанська