unit Unit1;interfaceuses 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.
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; 这部分提到一个新的项目里面就是server端了
这就是server端 unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, 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; IdTCPServer1: TIdTCPServer; Memo1: TMemo; procedure IdTCPServer1Execute(AThread: TIdPeerThread); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm} 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.
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.
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;
这部分提到一个新的项目里面就是server端了
这就是server端
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdBaseComponent, IdComponent, IdTCPConnection,
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;
IdTCPServer1: TIdTCPServer;
Memo1: TMemo;
procedure IdTCPServer1Execute(AThread: TIdPeerThread);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}
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.