📄 u_client.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 + -