unit Network;
interface
-uses Classes, Sockets, SocketUtils, DNSResolve, NetRFC, Common;
+uses Classes, Sockets, SocketUtils, SysUtils, DNSResolve, NetRFC, Common;
const
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;
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