unit udpfrm;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, IdBaseComponent, IdComponent, IdUDPBase,
IdUDPClient, Vcl.StdCtrls, Vcl.ExtCtrls, IdUDPServer, IdGlobal, IdSocketHandle;
type
TUDPClient = class(TForm)
Button1: TButton;
tmr1: TTimer;
Memo1: TMemo;
udpreciver: TIdUDPServer;
procedure Button1Click(Sender: TObject);
procedure tmr1Timer(Sender: TObject);
procedure udpreciverUDPRead(AThread: TIdUDPListenerThread;
const AData: TIdBytes; ABinding: TIdSocketHandle);
procedure udpreciverStatus(ASender: TObject; const AStatus: TIdStatus;
const AStatusText: string);
private
{ Private declarations }
public
{ Public declarations }
end;
var
UDPClient: TUDPClient;
implementation
{$R *.dfm}
procedure TUDPClient.Button1Click(Sender: TObject);
begin
if not udpreciver.Active then
begin
udpreciver.Active := True;
udpreciver.Send('127.0.0.1',6754,'ping');
tmr1.Enabled := True;
end;
{udpclient.Host := '127.0.0.1';
udpclient.Port := 6754;
udpclient.Connect;}
end;
procedure TUDPClient.tmr1Timer(Sender: TObject);
begin
try if udpreciver.Active then
udpreciver.Send('127.0.0.1',6754,'ping');
except end;
end;
procedure TUDPClient.udpreciverStatus(ASender: TObject;
const AStatus: TIdStatus; const AStatusText: string);
begin
memo1.Lines.Add(AStatusText);
end;
procedure TUDPClient.udpreciverUDPRead(AThread: TIdUDPListenerThread;
const AData: TIdBytes; ABinding: TIdSocketHandle);
begin
memo1.Lines.Add(bytestostring(AData));
end;
end.