Как послать широковещательный UDP пакет?

Previous  Top  Next

    
 

 

 

Code:

procedure TMainForm.FormCreate(Sender: TObject);

var Init:TWSAData;

SockOpt:BOOL;

Sock:TSocket;

Target:TSockAddrIn;

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(8167);//номер порта

Target.sin_addr.S_addr:=INADDR_BROADCAST;

Target.sa_family:=AF_INET;

SendTo(Sock,Data,DataBytes,0,Target,SizeOf(Target));

WSACleanup;

end;

 

 

 

©Drkb::03549

Взято из http://forum.sources.ru