www.pudn.com > linuxserver.rar > ServerUnit.pas
unit ServerUnit;
interface
uses
SysUtils, Types, Classes, Variants, QTypes, QGraphics, QControls, QForms,
QDialogs, QStdCtrls,Sockets, IdBaseComponent, IdComponent, IdTCPServer,
QExtCtrls, IdAntiFreezeBase, IdAntiFreeze;
type
TForm1 = class(TForm)
Button1: TButton;
IdTCPServer: TIdTCPServer;
edtPort: TEdit;
Memo1: TMemo;
Button2: TButton;
lblSUm: TLabel;
edtData: TEdit;
Timer1: TTimer;
IdAntiFreeze1: TIdAntiFreeze;
procedure Button1Click(Sender: TObject);
procedure IdTCPServerConnect(AThread: TIdPeerThread);
procedure IdTCPServerDisconnect(AThread: TIdPeerThread);
procedure IdTCPServerException(AThread: TIdPeerThread;
AException: Exception);
procedure IdTCPServerExecute(AThread: TIdPeerThread);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
iCOunt : integer = 0;
implementation
{$R *.xfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
IdTCPServer.DefaultPort := StrToIntDef(edtPort.Text,6666);
IdTCPServer.Active := True;
Button1.Enabled := False;
Button2.Enabled := True;
end;
procedure TForm1.IdTCPServerConnect(AThread: TIdPeerThread);
begin
inc(iCOunt);
lblSUm.Caption := IntToStr(iCount);
end;
procedure TForm1.IdTCPServerDisconnect(AThread: TIdPeerThread);
begin
Dec(iCOunt);
lblSUm.Caption := IntToStr(iCount);
end;
procedure TForm1.IdTCPServerException(AThread: TIdPeerThread;
AException: Exception);
begin
memo1.Lines.Add('exception');
end;
procedure TForm1.IdTCPServerExecute(AThread: TIdPeerThread);
var
sData : string;
begin
sData := AThread.Connection.ReadLn();
edtData.Text := sData;
AThread.Connection.WriteLn('server send :'+sData);
AThread.Connection.Disconnect;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
IdTCPServer.Active := False;
Button1.Enabled := True;
Button2.Enabled := False;
end;
end.