Fórum Ajude-me meu codigo de conexoes #592032
27/03/2018
0
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
obs: mesmo eu usando ''''try'''' ''''except'''' o erro acontece
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
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)