Fórum Conexao TCP #456266
23/09/2013
0
Estou precisando criar uma rotina onde terei minha aplicação no servidor de banco de dados e terei meus terminais, um desses terminais vai ter o banco de dados bkp.
Ai é que vem a duvida, como faço para monitorar a conexão TCP, ou seja, a aplicação vai estar rodando, quando a conexão cair com o servidor quero acionar este terminal local que esta como banco de dados apenas com os cadastros atualizados.
Se alguém puder me dar uma dica fico agradecido.
MArcos
Marcos Amaral
Curtir tópico
+ 0Posts
23/09/2013
Marcos Amaral
Gostei + 0
24/09/2013
Marcos Amaral
Esse fórum aqui já foi bom.........
Grato
Gostei + 0
24/09/2013
Marcos Oliveira
Segue abaixo um código que creio irá te ajudar.
// Você precisará de um componente TIdIcmpClient (IndyClients)
function TForm1.Pingar(IP: String): Boolean;
begin
Result := True;
try
IdICMPClient1.Host := IP;
IdICMPClient1.ReceiveTimeout := 1000; // Configure com o tempo que achar conveniente.
IdICMPClient1.Ping;
except
Result := False;
end
end;
// Para monitorar, é só usar um Timer.
procedure TForm1.Button1Click(Sender: TObject);
begin
if Pingar(edit1.text) then
ShowMessage('Ok')
else
ShowMessage('Erro');
end;
Att,
Marcos
Gostei + 0
24/09/2013
Marcos Amaral
Então meu amigo estou criando outro sistema onde terei um servidor no escritório do cliente e outro servidor como se fosse BKP no local, esse segundo servidor vai funcionar para controle de equipamentos e no local, e toda a base de dados vai estar no servidor principal.
O que eu preciso fazer quando essa comunicação venha cair vou acionar o segundo servidor. Trocando todas as conexões automaticamente tanto do servidor como dos clients.
Mais uma vez agradeço sua ajuda Marcão..
Abraços
Gostei + 0
24/09/2013
Marcos Oliveira
Gostei + 0
24/09/2013
Marcos Amaral
Muito obrigado era isso mesmo que eu queria.....
Abraços
Gostei + 0
30/09/2013
Marcos Amaral
Fiz a rotina e quando pingo, diz que o acesso negado.
O que pode ser?
Abraços
Marcos
Gostei + 0
01/10/2013
Marcos Oliveira
Att,
Marcos
Gostei + 0
01/10/2013
Marcos Amaral
Pelo cmd pingo certinho, tanto minha maquina local como a maquina remota, nesta maquina remota pingo pelo Host sisgfrotamg.zapto.org.
Agradeço sua ajuda, sabe como é marinheiro de primeira viagem....
abraços
Gostei + 0
01/10/2013
Marcos Oliveira
Você tentou executar seu projeto como administrador?
Att,
Marcos
Gostei + 0
01/10/2013
Marcos Amaral
Estranho
Gostei + 0
01/10/2013
Marcos Amaral
function TForm1.Pingar(IP: String): Boolean;
begin
Result := True;
try
IdICMPClient1.Host := IP;
IdICMPClient1.ReceiveTimeout := 1000; // Configure com o tempo que achar conveniente.
IdICMPClient1.Port := 3050;
IdICMPClient1.Ping;
except
Result := False;
end
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if Pingar(edit1.text) then
ShowMessage('Ok')
else
ShowMessage('Erro');
end;
Gostei + 0
01/10/2013
Marcos Amaral
Gostei + 0
01/10/2013
Marcos Oliveira
Até mudei o host pra ver se o programa sempre retornava true, mas aí deu erro. Voltei pro seu host, e funcionou.
Qual Delphi você usa?
Gostei + 0
01/10/2013
Marcos Amaral
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)