X-Git-Url: http://git.megabrutal.com/?p=mgsmtp.git;a=blobdiff_plain;f=Network.pas;fp=Network.pas;h=cd13cb2ae4740ec5368c70686d381395fbd14660;hp=d5b458da2d5919570e2805ae5416b63eac408752;hb=a48c41148c3655c6c0de176060d739d3438e25f7;hpb=443339e2756df295317b7136b3262e368fdb9bfa diff --git a/Network.pas b/Network.pas index d5b458d..cd13cb2 100644 --- a/Network.pas +++ b/Network.pas @@ -37,7 +37,7 @@ unit Network; interface -uses Classes, Sockets, SocketUtils, DNSResolve, NetRFC, Common; +uses Classes, Sockets, SocketUtils, SysUtils, DNSResolve, NetRFC, Common; const @@ -101,17 +101,18 @@ type TTCPListener = class(TThread) constructor Create(const Address: string; Port: word; FeatureRequest: word); {destructor Destroy; override;} - private + protected FFeatureRequest: word; FListenAddress: string; FListenPort: word; FListenSocket: socket; SockAddr: TSockAddr; - protected procedure HandleClient(Connection: TTCPConnection); virtual; abstract; procedure Execute; override; public + property ListenAddress: string read FListenAddress; property ListenPort: word read FListenPort; + function GetSockAddrStr: string; function StartListen: boolean; procedure StopListen; end; @@ -300,6 +301,11 @@ begin end; +function TTCPListener.GetSockAddrStr: string; +begin + Result:= NetAddrToStr(SockAddr.sin_addr) + ':' + IntToStr(ntohs(SockAddr.sin_port)); +end; + function TTCPListener.StartListen: boolean; var GAIResult: TGAIResult; begin