Testar conexão externa (ativa ou não) DataSnap
Prezados,
Estou desenvolvendo um sistema em Delphi X3 em tres camadas, uma das aplicações cliente (que vai trabalhar com modem 3G) terá conexão com a base que esta num host externo(nas nuvens) e também local (banco firebird)!
A aplicação está ok, tudo funcinando, mas nao consigo dar um ping externo.
usei um componente Indy IdIcmpClient(dei o nome deste componente de Pingar e coloquei ele num Datamodule local)
Uso também esta função para efetuar o ping.
Localmente(passando o ip de uma maquina local) ele dá o ping e funciona normalmente, mas quando coloca um endereço externo da erro; “Socket erro # 10013
Preciso de uma solução para ver se o Client(Datasnap - IP) conseguiu conectar com o server.
Function Ping(var IPs:String) : String;
Function Ping(var IPs:String) : String;
var
Resp : String;
begin
with DMPLocal do begin
try
Pingar.Host := IPs;
Pingar.ReceiveTimeout := 1000;
Pingar.Ping;
Resp := IntToStr(Pingar.ReplyStatus.BytesReceived);
if Resp = '72' then begin
Ping := 'S';
end
else begin
Ping := 'N';
end;
except
Ping := 'N';
end;
end;
end;
Estou desenvolvendo um sistema em Delphi X3 em tres camadas, uma das aplicações cliente (que vai trabalhar com modem 3G) terá conexão com a base que esta num host externo(nas nuvens) e também local (banco firebird)!
A aplicação está ok, tudo funcinando, mas nao consigo dar um ping externo.
usei um componente Indy IdIcmpClient(dei o nome deste componente de Pingar e coloquei ele num Datamodule local)
Uso também esta função para efetuar o ping.
Localmente(passando o ip de uma maquina local) ele dá o ping e funciona normalmente, mas quando coloca um endereço externo da erro; “Socket erro # 10013
Preciso de uma solução para ver se o Client(Datasnap - IP) conseguiu conectar com o server.
Function Ping(var IPs:String) : String;
Function Ping(var IPs:String) : String;
var
Resp : String;
begin
with DMPLocal do begin
try
Pingar.Host := IPs;
Pingar.ReceiveTimeout := 1000;
Pingar.Ping;
Resp := IntToStr(Pingar.ReplyStatus.BytesReceived);
if Resp = '72' then begin
Ping := 'S';
end
else begin
Ping := 'N';
end;
except
Ping := 'N';
end;
end;
end;
Nilson Jr
Curtidas 0
Melhor post
Claudio Ferreira
10/09/2014
Testa essa rotina :
http://theroadtodelphi.wordpress.com/2010/02/21/checking-if-a-tcp-port-is-open-using-delphi-and-winsocks/
http://theroadtodelphi.wordpress.com/2010/02/21/checking-if-a-tcp-port-is-open-using-delphi-and-winsocks/
GOSTEI 1
Mais Respostas
Frederico Brigatte***
16/11/2013
Esse código funciona????
GOSTEI 0