IndyUDP用法

来源:互联网 发布:人人贷网络平台 编辑:程序博客网 时间:2024/06/05 16:23

Delphi(Pascal) code
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdUDPClient, IdBaseComponent, IdComponent, IdUDPBase,
  IdUDPServer, StdCtrls,IdSocketHandle;

type
  TForm1 = class(TForm)
  Button1: TButton;
  IdUDPServer1: TIdUDPServer;
  IdUDPClient1: TIdUDPClient;
  Memo1: TMemo;
  procedure FormCreate(Sender: TObject);
  procedure Button1Click(Sender: TObject);
  procedure IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
  ABinding: TIdSocketHandle);
  private
  { Private declarations }
  public
  { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
//--监听端口
procedure TForm1.FormCreate(Sender: TObject);
begin
self.IdUDPServer1.DefaultPort:=1984;
self.IdUDPServer1.Active:= true;
end;
//--接收
procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
  ABinding: TIdSocketHandle);
var
  sStream: TStringStream;
begin
  sStream:= TStringStream.Create('');
  try
  sStream.CopyFrom(AData,AData.Size);
  Memo1.Lines.Add(sStream.DataString);
  finally
  sStream.Free;
  end;
end;

//模拟发送
procedure TForm1.Button1Click(Sender: TObject);
begin
self.IdUDPClient1.Send('127.0.0.1',1984,'fdsafdsa');
end;
end.

原创粉丝点击