应用IdTimeUDPServer和TIdTimeUDP组件

(1) unit U_UDPTime_Client;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdBaseComponent, IdComponent, IdUDPBase, IdUDPClient, IdTimeUDP,
  StdCtrls;
type
  TF_UDPTime_Client = class(TForm)
    Button1: TButton;
    Combobox1: TComboBox;
    lblTimeServer: TLabel;
    Label1: TLabel;
    Edit1: TEdit;
    IdTimeUDP1: TIdTimeUDP;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  F_UDPTime_Client: TF_UDPTime_Client;

implementation

{$R *.dfm}

procedure TF_UDPTime_Client.Button1Click(Sender: TObject);
begin
try
 //设置Time服务器的地址
 IdTimeUDP1.Host := Combobox1.Text;
 //显示时间
 Edit1.Text := DateTimeToStr ( IdTimeUDP1.DateTime );
except
 Showmessage('获取时间操作失败,请检查Time服务器是否活跃!');
end;
end;
end.

(2)unit U_UDPTime_Server;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdBaseComponent, IdComponent, IdUDPBase, IdUDPServer,
  IdTimeUDPServer, StdCtrls,IdSocketHandle;
type
  T_UDPTime_Server = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    IdTimeUDPServer1: TIdTimeUDPServer;
    procedure FormActivate(Sender: TObject);
    procedure IdTimeUDPServer1UDPRead(Sender: TObject; AData: TStream;
      ABinding: TIdSocketHandle);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  _UDPTime_Server: T_UDPTime_Server;
  AccessTimes:integer;

implementation

 
{$R *.dfm}

procedure T_UDPTime_Server.FormActivate(Sender: TObject);
begin
 try
 //激活TIdECHOServer组件
  IdTimeUDPServer1.Active := True;
  AccessTimes :=0;
 except
  ShowMessage('拒绝连接!由于安全的原因无法绑定到预定的端口!');
  Application.Terminate;
 end;
end;

procedure T_UDPTime_Server.IdTimeUDPServer1UDPRead(Sender: TObject;
  AData: TStream; ABinding: TIdSocketHandle);
begin
  AccessTimes :=AccessTimes +1;
  Label2.Caption :='['+inttostr(AccessTimes)+'  次]';
end;
end.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值