短信猫 TIdTCPServer TIdTCPClient
短信猫 服务端: IdTCPServer1: TIdTCPServer;
服务端
客户端 IdTCPClient1: TIdTCPClient; IdIPWatch1: TIdIPWatch; unit UnitClient; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IdAntiFreezeBase, IdAntiFreeze, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, StdCtrls, ExtCtrls, IdIPWatch; type TRevData=record Data:string; Flag:Boolean; end; TClientFrm = class(TForm) IdTCPClient1: TIdTCPClient; IdAntiFreeze1: TIdAntiFreeze; Panel1: TPanel; Edit_Host: TEdit; Label1: TLabel; Label2: TLabel; Edit_Port: TEdit; Button_Connet: TButton; Button_Close: TButton; Memo1: TMemo; Button_Send: TButton; MemoSend: TMemo; Label3: TLabel; IdIPWatch1: TIdIPWatch; procedure Button_ConnetClick(Sender: TObject); procedure Button_SendClick(Sender: TObject); procedure Button_CloseClick(Sender: TObject); private { Private declarations } SendData:string;//沮惠璶э跑祇癳摸ノ挡篶砰舱摸獺 function ClientReadBuffer(IDTCP: TIdTCPClient):string; procedure ClientWtiteBuffer(IDTCP: TIdTCPClient;strMSG:string); public { Public declarations } end; var ClientFrm: TClientFrm; implementation {$R *.dfm} function TClientFrm.ClientReadBuffer(IDTCP: TIdTCPClient):string; var ts:TStrings; stream:TStream; begin try stream := TStringStream.Create(''); //ノㄤ摸Stream钡Μぃ摸计沮 IDTCP.ReadStream(stream); stream.Position :=0; ts.LoadFromStream(stream); Result := ts.Text; finally stream.Free; end; end; procedure TClientFrm.ClientWtiteBuffer(IDTCP: TIdTCPClient;strMSG:string); var ts:TStrings; stream:TStream; begin try stream := TStringStream.Create(strMSG); IDTCP.WriteStream(stream); finally stream.Free; end; end; procedure TClientFrm.Button_ConnetClick(Sender: TObject); var stream:TStringStream; begin IdTCPClient1.Host := Trim(Edit_Host.Text); IdTCPClient1.Port := StrToInt(Edit_Port.Text); Memo1.Lines.Add('タ硈钡狝叭竟' + Edit_Host.Text + '...'); with IdTCPClient1 do begin try Connect(5000); try Memo1.Lines.Add(ReadLn()); //Memo1.Lines.Add(ClientReadBuffer(IdTCPClient1)+'++'); //Memo1.Lines.LoadFromStream(stream); Button_Connet.Enabled := False; Button_Close.Enabled := True; except Memo1.Lines.Add('狝叭竟礚臫莱...'); IdTCPClient1.Disconnect(); end; except Memo1.Lines.Add('礚猭ミ' + Edit_Host.Text + '硈钡...'); end; end; Button_Send.Enabled := True; end; procedure TClientFrm.Button_SendClick(Sender: TObject); begin try SendData := MemoSend.Text; IdTCPClient1.WriteLn(SendData+'--Come From'+IdIPWatch1.LocalIP); Memo1.Lines.Add(IdTCPClient1.ReadLn()); except IdTCPClient1.Disconnect(); Button_Connet.Enabled := True; end; end; procedure TClientFrm.Button_CloseClick(Sender: TObject); var strip:string; begin try strip := IdIPWatch1.LocalIP; //IdTCPClient1.Socket.LocalName;; IdTCPClient1.WriteLn('SENDMSG诀'+strip+' 笆耞秨硈钡'); //Memo1.Lines.Add(IdTCPClient1.ReadLn()) ; IdTCPClient1.Disconnect; Memo1.Lines.Add('狝叭竟硈钡耞秨'); Button_Connet.Enabled := True; //Button_Send.Enabled := False; except end; end; end. 读取txt
分类: Delphi,Http-FTP-Tcp |
|