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

📄 unit1.pas.~2~

📁 delphi+socket通讯的例子
💻 ~2~
字号:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    ClientSocket1: TClientSocket;
    ztai: TStatusBar;
    Edit1: TEdit;
    Label1: TLabel;
    Button1: TButton;
    Button2: TButton;
    Edit2: TEdit;
    Label2: TLabel;
    GroupBox1: TGroupBox;
    Memo1: TMemo;
    GroupBox2: TGroupBox;
    Memo2: TMemo;
    GroupBox3: TGroupBox;
    GroupBox4: TGroupBox;
    Button3: TButton;
    memo3: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket);

    procedure ClientSocket1Disconnect(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure ROutMessage(sMsg: string);

    procedure Button3Click(Sender: TObject);
  procedure socklianjie (socklianjie:Boolean) ;
    procedure memo3KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure Tform1.ROutMessage(sMsg: string);
begin
  sMsg:='[' + DateTimeToStr(Now) + '] ' + sMsg;
  Memo1.Lines.Add(sMsg);
end;
procedure Tform1.socklianjie (socklianjie:Boolean) ;
begin
if socklianjie then
  begin
  Button3.Enabled:=true;
  memo2.Enabled:=true;
  memo3.Enabled:=true;
  GroupBox3.Enabled:=true;
  GroupBox4.Enabled:=true;
  end else begin
     Button3.Enabled:=false;
     memo2.Enabled:=false;
     memo3.Enabled:=false;
     GroupBox3.Enabled:=false;
     GroupBox4.Enabled:=false;
    end;

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if (edit1.Text='')or (edit2.Text='') then
messagebox(handle,'无效的IP地址或端口','提示',64)
else
 begin
   ClientSocket1.Address:=edit1.Text;
   ClientSocket1.Port:=strtoint(edit2.Text);
   //ClientSocket1.Address:='127.0.0.1';
  // ClientSocket1.Port:=1987;
 Button2.Enabled:=true;
 end;
   ztai.Panels[0].Text:='未连接...' ;
   ztai.Panels[1].Text:='IP '+ClientSocket1.Address;
   ztai.Panels[2].Text:='端口: '+inttostr(ClientSocket1.Port) ;

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
if ClientSocket1.Address <>'' then
 begin
 ClientSocket1.Active:=true;
 end;
 end;


procedure TForm1.Button3Click(Sender: TObject);
begin
clientsocket1.Socket.SendText(memo3.Text);
memo3.Text:='';
end;

procedure TForm1.ClientSocket1Connect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
socklianjie(true);
ztai.Panels[0].Text:='已连接...';
ROutMessage('连接到'+ClientSocket1.Address+':'+inttostr(ClientSocket1.Port));
end;

procedure TForm1.ClientSocket1Disconnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
socklianjie(false)     ;
ztai.Panels[0].Text:='已断开...';
ROutMessage('连接断开'+ClientSocket1.Address+':'+inttostr(ClientSocket1.Port));
end;
procedure TForm1.memo3KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key = 13 then
  begin
   Button3.Click;
  end;
end;

end.

⌨️ 快捷键说明

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