📄 unit1.~pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IOCPBST;
type
TForm1 = class(TForm)
IOCPBST1: TIOCPBST;
Button1: TButton;
Memo1: TMemo;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure IOCPBST1Event(Sender: TObject; Level: Integer;
const Status: String);
procedure IOCPBST1Connect(Sender: TObject; Socket: Integer);
procedure IOCPBST1Disconnect(Sender: TObject; Socket: Integer);
procedure IOCPBST1Receive(Sender: TObject; Data: Pointer;
var SendData: Pointer; var Size: Cardinal);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
procedure Printf(str: string; const fmt: array of const);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
IOCPBST1.Open();
end;
procedure TForm1.IOCPBST1Event(Sender: TObject; Level: Integer;
const Status: String);
begin
(*
Level = M_SYSTEM -- System Message
Level = M_ERROR -- Error Message
Level = M_NORMAL -- Normal Message
*)
Memo1.Lines.Add(Status);
end;
procedure TForm1.Printf(str: string; const fmt: array of const);
begin
Memo1.Lines.Add(Format(str, fmt))
end;
procedure TForm1.IOCPBST1Connect(Sender: TObject; Socket: Integer);
begin
Printf('new socket %d', [Socket]);
end;
procedure TForm1.IOCPBST1Disconnect(Sender: TObject; Socket: Integer);
begin
Printf('Disconnect socket %d', [Socket]);
end;
procedure TForm1.IOCPBST1Receive(Sender: TObject; Data: Pointer;
var SendData: Pointer; var Size: Cardinal);
type
PPacket = ^TPacket;
TPacket = packed record
a: integer;
b: array[0..99] of char;
end;
var
sendPack: PPacket;
begin
Memo1.Lines.Add('Receive: '+PPacket(Data)^.b);
new(sendPack);
sendPack^.a := 0;
StrPCopy(sendPack^.b, 'Server result ' + IntToStr(Random(1000)));
SendData := sendPack;
Size := sizeof(sendPack);
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
IOCPBST1.Team;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
IOCPBST1.Close();
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -