⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas

📁 delphi7下的完成端口应用
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
  IdTCPClient, WinSock, ExtCtrls;

type
  TForm1 = class(TForm)
    IdTCPClient1: TIdTCPClient;
    Button1: TButton;
    Memo1: TMemo;
    Button2: TButton;
    IdTCPClient2: TIdTCPClient;
    Button3: TButton;
    Edit2: TEdit;
    Button4: TButton;
    Button5: TButton;
    Bevel1: TBevel;
    Bevel2: TBevel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  SL: TList;

const 
     CST_HOST = '192.168.1.25';
     CST_PORT = 6060;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
type
  TPacket = packed record
    a: integer;
    b: array[0..99] of char;
  end;
var
  i: Integer;
  pack: TPacket;
begin
  SL := TList.Create;
  for i:=0 to 5000 do
  begin
    with TIdTcpClient.Create(nil) do
    begin
      Host := CST_HOST;
      Port := CST_PORT;
      Connect(2000);
      pack.a := i;
      pack.b := 'IOCP test';      
      WriteBuffer(pack, SizeOf(pack));      
//      ReadBuffer(pack, sizeof(pack));
      memo1.Lines.Add(Format('%d', [i]));
//      Disconnect;
//      Free;   
    end;
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
type
  TPacket = packed record
    a: integer;
    b: array[0..99] of char;
  end;
begin
    if (not IdTCPClient1.Connected) then
    begin
      IdTCPClient1.Host := CST_HOST;
      IdTCPClient1.Port := CST_PORT;
      IdTCPClient1.Connect();
    end;
end;

procedure TForm1.Button3Click(Sender: TObject);
type
  TPacket = packed record
    a: integer;
    b: array[0..99] of char;
  end;
var
  pack: TPacket;
begin
    if (not IdTCPClient2.Connected) then
    begin
      IdTCPClient2.Host := CST_HOST;
      IdTCPClient2.Port := CST_PORT;
      IdTCPClient2.Connect();
    end;
    pack.a := 10000;
    StrPCopy(pack.b, Edit2.Text);
    IdTCPClient2.WriteBuffer(pack, sizeof(pack));

    IdTCPClient2.ReadBuffer(pack, sizeof(pack));
    Memo1.Lines.Add(format('%d: %s', [pack.a, pack.b]));
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
  if (IdTCPClient2.Connected) then
    IdTCPClient2.Disconnect;  
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
    if (IdTCPClient1.Connected) then
    IdTCPClient1.Disconnect;  
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -