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

Вниз

Извините что вопрос немного не в тему 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;

interface

uses
Windows, SysUtils, Forms,
Classes, Controls, Buttons, NMUDP, ExtCtrls, Grids, Dialogs,
StdCtrls, strgrdex, ScktComp, Menus;

procedure TForm1.FormCreate(Sender: TObject);
begin
NMUDP1.LocalPort := 6767;
end;

procedure TForm1.NMUDP1DataReceived(Sender: TComponent;
NumberBytes: Integer; FromIP: String; Port: Integer);
Var
sb : String;
j, i : Integer;
begin
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);
var
Init :TWSAData;
SockOpt :BOOL;
Sock :TSocket;
Target :TSockAddrIn;
//
stData, LineMemo, Komu : String;
DataBytes : Word;
i , j, LenStr, KodKom : Word;
KodS : Byte;
begin
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
begin
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]

Return Value
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.012 c
1-74671
^Sanya
2002-12-12 23:28
2002.12.23
ActionManager...


1-74741
Tik
2002-12-10 21:41
2002.12.23
StringGrid&File


3-74579
cutter-pro
2002-12-04 16:24
2002.12.23
Delphi и Excel в одну постель???


1-74735
Гость
2002-12-14 15:00
2002.12.23
Запуск


14-74993
Marcus
2002-12-03 17:20
2002.12.23
С чем у вас ассоциируется жанр