📄 ut_dl_srv.pas
字号:
unit UT_DL_SRV;
interface
uses
Windows, Messages, SysUtils, Classes, Controls, Forms,
ScktComp, StdCtrls, ComCtrls ;
type
TFM_DL_SRV = class(TForm)
SrvSocket: TServerSocket;
sbSRV: TStatusBar;
pcSRV: TPageControl;
TabSheet1: TTabSheet;
UserInfo: TListView;
procedure SrvSocketGetThread(Sender: TObject;
ClientSocket: TServerClientWinSocket;
var SocketThread: TServerClientThread);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
FilesName: TStrings;
public
ActiveThreadsCount, BufferSize{/KB}: Integer;
end;
var
FM_DL_SRV: TFM_DL_SRV;
implementation
{$R *.dfm}
uses
UT_SRVTHRD, FundAndProc;
procedure TFM_DL_SRV.FormCreate(Sender: TObject);
var
Path: String;
begin
FilesName := TStringList.Create;
Path := ExtractFilePath(ParamStr(0));
FilesName.Add(Path + '\' + '待传输文件1.txt');
FilesName.Add(Path + '\' + '待传输文件2.txt');
ActiveThreadsCount := 0;
BufferSize := 3;
with SrvSocket do
begin
Port := DefaultPort;
ServerType := stThreadBlocking;
Open;
end;
end;
procedure TFM_DL_SRV.FormDestroy(Sender: TObject);
begin
FreeAndNil(FilesName);
end;
procedure TFM_DL_SRV.SrvSocketGetThread(Sender: TObject;
ClientSocket: TServerClientWinSocket;
var SocketThread: TServerClientThread);
begin
SocketThread := TServerThread.Create(True,ClientSocket, FilesName, BufferSize);
SocketThread.FreeOnTerminate := True;
SocketThread.Resume;
Inc(ActiveThreadsCount);
sbSRV.Panels.Items[0].Text := '当前线程数:' + IntToStr(ActiveThreadsCount);;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -