Jak nasłuchiwać na UDP?

0

Witam!

Chciałbym zrobić program, który nasłuchuje komendy na UDP i dopisuje je do Memo. Komendy wysyłane są broadcastem z innego komputera w sieci lokalnej. Jakich komponentów użyć i w jaki sposób wysyłać za każdym razem odpowiedź-potwierdzenie otrzymania polecenia?

Dzięki!

0

Użyj kompomentów Indy, TIDUdpServer i TIDUdpClient

Przykład:

IdUdpClient1.Broadcast('Tak, jestem tutaj',1044);

Port oczywiście jest dowolny

IdUspServer musi mieć ustawione DefaultPort na 1044

W OnUDPRead daj:

var
text:TStringStream;
begin
text := TStringStream.Create('');
text.CopyFrom(AData,Adata.Size);
ShowMessage(ABinding.PeerIP + ': ' + text.DataString);  //Adres IP + wiadomość
IdUdpClient1.Send(ABinding.PeerIP,1044,'Tak, już wiem'); //Potwierdzenie
end;
0

albo tak:

procedure TForm1.udpUDPRead(Sender: TObject; AData: TStream;
  ABinding: TIdSocketHandle);

  var
  buff:Array[0..4096] of Char;
begin
 AData.Read(buff,SizeOf(buff));     //odebrane dane przydziel do bufora
 Memo1.Lines.Add(String(buff));     //do memo1 zapisz dane z bufora
end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1