unit1.pas

来自「罗小平<<delphi精要>>一书源码」· PAS 代码 · 共 70 行

PAS
70
字号
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ScktComp;

type
  TForm1 = class(TForm)
    ClientSocket1: TClientSocket;
    ServerSocket1: TServerSocket;
    procedure FormCreate(Sender: TObject);
    procedure ServerSocket1ClientConnect(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function Get_ComputerName: String;
var
  iSize: LongWord;
  ComputerName: PChar;
begin
  iSize := MAX_COMPUTERNAME_LENGTH + 1;
  GetMem(ComputerName, iSize);
  GetComputerName(ComputerName, iSize);
  Result := ComputerName;
  FreeMem(ComputerName);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  with ServerSocket1 do
  begin
    Port := 5643;
    Open; //或者Active := True;
  end;
  with ClientSocket1 do
  begin
    Port := 5643;
    Host := Get_ComputerName;
    Open; //或者Active := True;
  end;
end;

procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  Socket.SendText('ClientSocket1你好!')
end;

procedure TForm1.ClientSocket1Read(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  ShowMessage(Socket.ReceiveText);
end;

end.

⌨️ 快捷键说明

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