分享

短信猫 TIdTCPServer TIdTCPClient

 quasiceo 2017-06-16

短信猫 TIdTCPServer TIdTCPClient

 

短信猫 服务端:

IdTCPServer1: TIdTCPServer;
IdAntiFreeze1: TIdAntiFreeze;

服务端

客户端

IdTCPClient1: TIdTCPClient;
IdAntiFreeze1: TIdAntiFreeze;

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

  

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多