unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdTCPServer, IdBaseComponent, IdComponent,
IdTCPConnection, IdTCPClient;
type
TForm1 = class(TForm)
IdTCPClient1: TIdTCPClient;
IdTCPServer1: TIdTCPServer;
Button1: TButton;
Button2: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure IdTCPServer1Execute(AThread: TIdPeerThread);
procedure IdTCPClient1Connected(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); //连接按钮
begin
IdTCPClient1.Host:='192.168.0.200';
IdTCPClient1.Port:=1239;
IdTCPClient1.Connect;
end;
procedure TForm1.Button2Click(Sender: TObject); //发送按钮
var
sm:TStringStream;
msize:Integer;
begin
sm:=TStringStream.Create('大家好');
msize:=sm.Size;
Memo1.Lines.Add('发送时流大小为:'+inttostr(msize));
IdTCPClient1.WriteInteger(msize);
IdTCPClient1.WriteStream(sm);
sm.Free;
end;
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var
s:string;
sm:TStringStream;
msize:integer;
begin
sm:=TStringStream.Create('');
msize:=AThread.Connection.ReadInteger();
Memo1.Lines.Add('接收到的大小为:'+inttostr(msize));
AThread.Connection.ReadStream(sm,msize);
Memo1.Lines.Add(sm.DataString);
sm.Free;
end;
procedure TForm1.IdTCPClient1Connected(Sender: TObject);
begin
Memo1.Lines.Add('有用户连接');
end;
end.
联系客服