Fórum Testar conexão externa (ativa ou não) DataSnap #461220
16/11/2013
0
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
Curtir tópico
+ 0
Responder
Post mais votado
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/
Claudio Ferreira
Responder
Gostei + 1
Mais Posts
09/09/2014
Frederico Brigatte***
Esse código funciona????
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)