Форум: "Сети";
Текущий архив: 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;
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c