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.
|