unit _uc_tektek_thread;
interface
uses
Windows,SysUtils,Classes,ScktComp,ComCtrls;
type
TTekTekTHREAD = class(TThread)
private
FCCC :TClientSocket;
_WinSk :TWinSocketStream;
StatError :Integer;
_sDataZund : string;
_sDataRESPONSE :String;
procedure Shawa_connecting;
procedure OnTekTerminated(Sender: TObject);
protected
procedure Execute; override;
public
_tek_Domain : string;
_tek_port : integer;
_tek_full_http_link_stok : string;
_tek_com_path_plus_Tik_File : string;
_tek_access_password : string;
_ZunderStartBoxITEM:TListItem;
constructor Create;
destructor Destroy; override;
end;
implementation
uses unit1,_uc_refs_vars,_uc_funcs,_uc_refs_consts,_uc_ip_codecs,_uc_tek_builder_func;
{ TTekTekTHREAD }
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
constructor TTekTekTHREAD.Create;
begin
inherited Create(True); // Intially suspended
FreeOnTerminate := True;
OnTerminate := OnTekTerminated;
FCCC := TClientSocket.Create(nil);
FCCC.ClientType := ctBlocking;
end;
//------------------------------------------------------------------------------
destructor TTekTekTHREAD.Destroy;
begin
FCCC.Free;
inherited;
end;
//------------------------------------------------------------------------------
procedure TTekTekTHREAD.Shawa_connecting;
begin
//_FXOC_MAIN.TheLOGGER.Log('Starting ... : '+_tek_Domain);
end;
//------------------------------------------------------------------------------
procedure TTekTekTHREAD.OnTekTerminated(Sender: TObject);
begin
if (_FXOC_MAIN.izDebugerON.Checked)
then _FXOC_MAIN.TheLOGGER.Log('data:'+_tek_Domain+ret+_sDataRESPONSE+ret+sep+ret+_sDataZund+ret+sep);
TStartingComBUILDER._goBuilderComTekData(_sDataRESPONSE,
_tek_full_http_link_stok,
_tek_Domain,
_tek_com_path_plus_Tik_File,
_tek_port,
_ZunderStartBoxITEM);
end;
//------------------------------------------------------------------------------
procedure TTekTekTHREAD.Execute;
var
_RcvL:integer;
_pBuf: PChar;
aa : string;
begin
StatError:=0;
_RcvL:=0;
_sDataRESPONSE:='';
try
aa:='p='+_tek_access_password+'&e=_T1&v='+_VV_LOCAL_USER_PC_ID;
if (_VV_LOCAL_CONFIG_ROUTER_IS_ON) then aa:=aa+'&n=1' // NAT-Active
else aa:=aa+'&c='+TIpCodecs.encry(TIpCodecs.ip_to_int(_VV_LOCAL_USER_IP_MASTER)); // NORMAL
// this will BOYA dend ipwhatver it is = good or lan
_sDataZund:='GET '+_tek_com_path_plus_Tik_File+'?'+aa+' HTTP/1.0'+ret+
'User-Agent: '+_C_EXOSEE_WEB_TEK_USER_MERDA+ret+
'Host: '+_tek_Domain+ret+
'Connection: Close'+ret+ //
ret;
Synchronize(Shawa_connecting);
FCCC.Host_name := _tek_Domain;
FCCC.Port := _tek_port;
FCCC.Active := True;
if FCCC.Socket.Connected then
begin
//Synchronize(Shawa_connected);
_WinSk := TWinSocketStream.Create(FCCC.Socket, 10000);
try ////----------------t2
_WinSk.Write(_sDataZund[1],length(_sDataZund));
GetMem(_pBuf, _C_EXOSEE_WEB_TEK_BUFFER_SIZE);
try
while (not Terminated)and(FCCC.Socket.Connected) do
begin
if _WinSk.WaitForData(10000) then
begin
_RcvL:=_WinSk.Read(_pBuf^,_C_EXOSEE_WEB_TEK_BUFFER_SIZE);
_sDataRESPONSE:=_sDataRESPONSE+ copy(_pBuf,1,_RcvL);
end; // 5 sec data on
if _RcvL=0 then break;
end; // end Loop ---------------------------------------------------------------
finally FreeMem(_pBuf); end; //------------4
finally
FCCC.Socket.Close;
_WinSk.Free;
end; //----------------t2
end
else
StatError:=1; //error_connection);
except end; // avoid errors
end;
end.
interface
uses
Windows,SysUtils,Classes,ScktComp,ComCtrls;
type
TTekTekTHREAD = class(TThread)
private
FCCC :TClientSocket;
_WinSk :TWinSocketStream;
StatError :Integer;
_sDataZund : string;
_sDataRESPONSE :String;
procedure Shawa_connecting;
procedure OnTekTerminated(Sender: TObject);
protected
procedure Execute; override;
public
_tek_Domain : string;
_tek_port : integer;
_tek_full_http_link_stok : string;
_tek_com_path_plus_Tik_File : string;
_tek_access_password : string;
_ZunderStartBoxITEM:TListItem;
constructor Create;
destructor Destroy; override;
end;
implementation
uses unit1,_uc_refs_vars,_uc_funcs,_uc_refs_consts,_uc_ip_codecs,_uc_tek_builder_func;
{ TTekTekTHREAD }
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
constructor TTekTekTHREAD.Create;
begin
inherited Create(True); // Intially suspended
FreeOnTerminate := True;
OnTerminate := OnTekTerminated;
FCCC := TClientSocket.Create(nil);
FCCC.ClientType := ctBlocking;
end;
//------------------------------------------------------------------------------
destructor TTekTekTHREAD.Destroy;
begin
FCCC.Free;
inherited;
end;
//------------------------------------------------------------------------------
procedure TTekTekTHREAD.Shawa_connecting;
begin
//_FXOC_MAIN.TheLOGGER.Log('Starting ... : '+_tek_Domain);
end;
//------------------------------------------------------------------------------
procedure TTekTekTHREAD.OnTekTerminated(Sender: TObject);
begin
if (_FXOC_MAIN.izDebugerON.Checked)
then _FXOC_MAIN.TheLOGGER.Log('data:'+_tek_Domain+ret+_sDataRESPONSE+ret+sep+ret+_sDataZund+ret+sep);
TStartingComBUILDER._goBuilderComTekData(_sDataRESPONSE,
_tek_full_http_link_stok,
_tek_Domain,
_tek_com_path_plus_Tik_File,
_tek_port,
_ZunderStartBoxITEM);
end;
//------------------------------------------------------------------------------
procedure TTekTekTHREAD.Execute;
var
_RcvL:integer;
_pBuf: PChar;
aa : string;
begin
StatError:=0;
_RcvL:=0;
_sDataRESPONSE:='';
try
aa:='p='+_tek_access_password+'&e=_T1&v='+_VV_LOCAL_USER_PC_ID;
if (_VV_LOCAL_CONFIG_ROUTER_IS_ON) then aa:=aa+'&n=1' // NAT-Active
else aa:=aa+'&c='+TIpCodecs.encry(TIpCodecs.ip_to_int(_VV_LOCAL_USER_IP_MASTER)); // NORMAL
// this will BOYA dend ipwhatver it is = good or lan
_sDataZund:='GET '+_tek_com_path_plus_Tik_File+'?'+aa+' HTTP/1.0'+ret+
'User-Agent: '+_C_EXOSEE_WEB_TEK_USER_MERDA+ret+
'Host: '+_tek_Domain+ret+
'Connection: Close'+ret+ //
ret;
Synchronize(Shawa_connecting);
FCCC.Host_name := _tek_Domain;
FCCC.Port := _tek_port;
FCCC.Active := True;
if FCCC.Socket.Connected then
begin
//Synchronize(Shawa_connected);
_WinSk := TWinSocketStream.Create(FCCC.Socket, 10000);
try ////----------------t2
_WinSk.Write(_sDataZund[1],length(_sDataZund));
GetMem(_pBuf, _C_EXOSEE_WEB_TEK_BUFFER_SIZE);
try
while (not Terminated)and(FCCC.Socket.Connected) do
begin
if _WinSk.WaitForData(10000) then
begin
_RcvL:=_WinSk.Read(_pBuf^,_C_EXOSEE_WEB_TEK_BUFFER_SIZE);
_sDataRESPONSE:=_sDataRESPONSE+ copy(_pBuf,1,_RcvL);
end; // 5 sec data on
if _RcvL=0 then break;
end; // end Loop ---------------------------------------------------------------
finally FreeMem(_pBuf); end; //------------4
finally
FCCC.Socket.Close;
_WinSk.Free;
end; //----------------t2
end
else
StatError:=1; //error_connection);
except end; // avoid errors
end;
end.