Ajude-me meu codigo de conexoes

Delphi

27/03/2018

Olá profissionais e nubs ><, vim pedir uma pequena ajuda, a vocees, que nao seja muito incomodo!
Criei um projeto, de socket, usando TClientSocket, eu inicio conexão quando o programa e aberto, logo em seguida , ele verifica se a conexao esta feita, e se tem alguma coisa pra lê, e tambem se a conexao , foi encerrada, se a conexao, foi encerrada, ele chama um procedure, para fazer uma nova conexão, mais eu me deparo com um erro ''''Asynchronous socket error 10061'''', isso acontece quando o servidor, esta offline, mais o engraçado, e que no começo do codigo, quando ele inicia o aplicativo, ele nao da esse erro, mesmo o servidor estando offline! eu quero saber se o problema, e porque eu uso thread para, da loops,a conexao. para realmente saber se ela esta estavel

meu codigo

library test;

Uses
  Windows,ScktComp,dialogs ,SysUtils
  ;



  var
  ClientSocket : TClientSocket;
  linha: string;

  ThreadID : cardinal;
  cthread : cardinal;
  status : integer;

procedure Kayan;
begin

try
clientsocket.Host := ''''127.0.0.1'''';
    ClientSocket.Port := 5535;
clientsocket.Open;
except
showmessage(''''disconnect'''');

end;

function Thread_KayanK(AParam : cardinal) : cardinal; stdcall;
begin

while true do
  begin
  try
  Sleep(1000);

if(ClientSocket.Socket.Connected  = false) then
       begin
        Kayan;

      end;

  if(ClientSocket.Socket.Connected  = true) then
       begin

       linha := ClientSocket.Socket.ReceiveText;
        if(linha <> '''''''') then
        begin
            showmessage(linha);
            linha:='''''''';
        end;
       end;

    except
    end;
  end;
end;

procedure inicio;
begin

  ClientSocket :=     TClientSocket.Create(nil);
    ClientSocket.Host := ''''127.0.0.1'''';
    ClientSocket.Port := 5535;
    //ClientSocket.ClientType := ctBlocking;
    ClientSocket.ClientType := ctNonBlocking;
    ClientSocket.Open;
    status:= 1;
    linha := '''''''';

    ThreadID := CreateThread(nil, 0, @Thread_KayanK, nil, 0, cthread);
end;


obs: mesmo eu usando ''''try'''' ''''except'''' o erro acontece
Yuri

Yuri

Curtidas 0
POSTAR