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

📄 u_client.pas

📁 一个很好的游戏软件 自己试试看吧 不用多说了吧
💻 PAS
字号:
unit U_Client;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ScktComp, StdCtrls, IdBaseComponent, IdComponent, IdUDPBase,
  IdUDPClient, ExtCtrls;

type
  TForm1 = class(TForm)
    ClientSocket: TClientSocket;
    Button1: TButton;
    MemReadMsg: TMemo;
    IdUDPClient1: TIdUDPClient;
    btnSend: TButton;
    Label2: TLabel;
    Label1: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    ServerIP: TEdit;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure ClientSocketRead(Sender: TObject; Socket: TCustomWinSocket);
    procedure btnSendClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  Try
    if ServerIP.Text = '' then
    begin
       MessageBox(0,'请输入服务器IP地址','',MB_OK + MB_ICONWARNING);
    end
    else
    begin
       ClientSocket.Host:=ServerIP.Text;
       ClientSocket.Active := true;
    end
  Except
    MessageBox(0,'连接失败,请查看服务端是否有启动!','',MB_OK + MB_ICONWARNING);
  end;
end;

procedure TForm1.ClientSocketRead(Sender: TObject;
  Socket: TCustomWinSocket);
var
  len:word;
  buf:array of char;
  msg:string;
begin
  try
    Socket.ReceiveBuf(len, 2);
    if len < 1 then Exit;
    setlength(buf, len);
    Socket.ReceiveBuf(buf[0], len);
    //msg:=copy(buf, 0, len);
    setlength(msg, len);
    Move(buf[0], msg[1], len);
    MemReadMsg.Lines.Add(msg);
  except
  end;

end;

procedure TForm1.btnSendClick(Sender: TObject);
Var
  len : Word;
  Msg : String;
  buf : array of char;
begin //前两个字节存放消息体内容长度
  if Edit1.Text = '' then
  begin
     MessageBox(0,'用户名不能为空!','',MB_OK + MB_ICONWARNING);
  end
  else
  begin
     if Edit2.Text = '' then
     begin
         MessageBox(0,'密码不能为空!','',MB_OK + MB_ICONWARNING);
     end
     else
     begin
         Msg := Trim(Edit1.Text+'|'+Edit2.text);
         Len := Length(Msg);
         SetLength(buf,Len + 2);
         Move(Len,buf[0],2);
         Move(Msg[1],buf[2],Len);
         ClientSocket.Socket.SendBuf(buf[0],Len + 2);
     end
  end
end;
{begin
  ClientSocket.Socket.SendText(Trim(MemSendMsg.Text))
end;}

end.

⌨️ 快捷键说明

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