unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
StdCtrls, Buttons, IdTCPServer;
type
Tuser = record
s_id:string;
s_name:string;
s_age:string;
s_text:string;
dt_date:TDateTime;
end;
TForm1 = class(TForm)
BitBtn1: TBitBtn;
IdTCPClient1: TIdTCPClient;
IdTCPServer1: TIdTCPServer;
Memo1: TMemo;
procedure BitBtn1Click(Sender: TObject);
procedure IdTCPServer1Execute(AThread: TIdPeerThread);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
//--数据发送
procedure TForm1.BitBtn1Click(Sender: TObject);
var
user:Tuser;
begin
user.s_id:='21212121';
self.IdTCPClient1.Host:='127.0.0.1';
self.IdTCPClient1.Port:=9999;
try
self.IdTCPClient1.Connect(5000);
self.IdTCPClient1.WriteBuffer(user,sizeof(Tuser));
self.IdTCPClient1.Disconnect;
except
on e:exception do
memo1.Lines.Add(e.Message);
end;
end;
//--数据接收
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var
user: TUser;
begin
with AThread.Connection do
begin
ReadBuffer(user,sizeof(TUser));
memo1.Lines.Add(user.s_id);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
self.IdTCPServer1.DefaultPort:=9999;
self.IdTCPServer1.Active:= true;
end;
end.
IndyTcp用法
最新推荐文章于 2022-10-01 20:07:44 发布