ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Delphi XE7 - Firemonkey - Android - DataSnap

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Mobile com Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
userdata
Novato
Novato


Registrado: Sábado, 14 de Março de 2015
Mensagens: 7

MensagemEnviada: Sáb Mar 14, 2015 11:28 pm    Assunto: Delphi XE7 - Firemonkey - Android - DataSnap Responder com Citação

Olá pessoal, sou novo na questão mobile...

Desenvolvi uma aplicação PHP/MYSql que está hospedado em um determinado servidor externo.
Fiz uma aplicação no firemonkey com banco SQLite;
Eu estou usando o Datasnap como servidor que conecta com meu Mysql;
Do lado cliente se comunicando com meu servidor eu tenho um Datasnap cliente usando um ClientModule com um SQLConnection para conectar no meu servidor Datasnap.

Para minha conexão com o banco Sqlite que vai embarcado no dispositivo e um uso um DataModule com um TFDConnection

Eu faço uns lançamento no mobile no banco SQLite....até ai blz....
tenho um botão que sincroniza passando todos os meus dados do sqlite par meu servidor externo para o banco Mysql.

AQUI VEM O PROBLEMA

no SQLConnection eu uso o Dirve: DataSnap
meu Hostname eu uso o ip da minha máquina pego via ipconfig ou utilizo o iplo caldo host ou seja 127.0.0.1
funciona que é uma beleza.....

quando sai da minha rede e vou com o dispositivo para outro predio onde a internet ou rede é outra ele nem abre o aplicativo...o aplicativo não responde...
então o probelma está no meu hostname...vi algumas postagens dizendo que tem que ficar trocando o ip do hostname...isso é um absurdo....quer dizer que meu cliente que está como o tablet ou o celular não pode transmitir os dados de um supermercado por exemplo?
como faço para fazer com que o aplicativo tenha um servidor interno para colocar no hostname ou coisa parecida?

Obrigado meus amigos....

José Tatai
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
userdata
Novato
Novato


Registrado: Sábado, 14 de Março de 2015
Mensagens: 7

MensagemEnviada: Dom Mar 15, 2015 4:13 pm    Assunto: Responder com Citação

É velho não é fácil não.....
todos os exemplos que vi ...só tem exemplo conectando com localhost...
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
strak2012
Colaborador
Colaborador


Registrado: Segunda-Feira, 13 de Janeiro de 2014
Mensagens: 1518
Localização: Maceió - AL

MensagemEnviada: Seg Mar 16, 2015 9:44 am    Assunto: Responder com Citação

Das questões:

1- Onde estar o servidor Datasnap externo?

2- O servidor Datasnap externo tem ip fixo ou dinamico?

3 - servidor Datasnap externo tem porta do router aberta?
_________________
Tudo podemos quando tudo sabemos!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail MSN Messenger
akenatum
Novato
Novato


Registrado: Sexta-Feira, 22 de Mai de 2015
Mensagens: 5

MensagemEnviada: Ter Jun 16, 2015 4:49 pm    Assunto: Responder com Citação

Vc tem que redirecionar, no modem, a porta 211 (Padrão servidor datasnap) para o IP (Interno) que está instalado o servidor.

Liberar a porta no Firewall do windows ou outro se tiver instalado.

Para acessar de fora, vc deverá colocar na máquina cliente o ip externo (www.meuip.com.br).

Agora caso não tenha um ip fixo vc pode usar o aplicativo no-ip (www.noip.com) e conectar usando somente o nome que vc criar lá, toda vez que o ip mudar ele atualiza automaticamente.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
marcelo_tux
Aprendiz
Aprendiz


Registrado: Terça-Feira, 2 de Abril de 2013
Mensagens: 230
Localização: São José do Rio Preto - SP

MensagemEnviada: Qua Jun 17, 2015 9:48 am    Assunto: Responder com Citação

Eu tenho uma aplicação bem parecida com o que falou e fiz da seguinte maneira :
A abrir o aplicativo eu mostro um combobox com as opções EXTERNO e INTERNO , ou seja, se estiver na rede local eu escolho INTERNO e pego o hostname local, se escolher o EXTERNO eu pego o hostname externo, o código fica mais ou menos assim :

if ComboBox1.Selected.Text = 'INTERNO' then
begin
ClientModule1.SQLConnection1.Params.Clear;
ClientModule1.SQLConnection1.Params.Add('Port=porta');
ClientModule1.SQLConnection1.Params.Add('HostName=hostname local');
ClientModule1.SQLConnection1.Params.Add('CommunicationProtocol=tcp/ip');
ClientModule1.SQLConnection1.Params.Add('DatasnapContext=datasnap/');
ClientModule1.SQLConnection1.Open;
end;
if ComboBox1.Selected.Text = 'EXTERNO' then
begin
ClientModule1.SQLConnection1.Params.Clear;
ClientModule1.SQLConnection1.Params.Add('Port=porta');
ClientModule1.SQLConnection1.Params.Add('HostName=hostname externo');
ClientModule1.SQLConnection1.Params.Add('CommunicationProtocol=tcp/ip');
ClientModule1.SQLConnection1.Params.Add('DatasnapContext=datasnap/');
ClientModule1.SQLConnection1.Open;
end;

Obs : Lembrando que para ter um hostname externo vc tem que ter um acesso externo como nosso amigo akenatum mencionou acima.
_________________
Porgramador Delphi - Mobile
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
userdata
Novato
Novato


Registrado: Sábado, 14 de Março de 2015
Mensagens: 7

MensagemEnviada: Qui Jun 18, 2015 6:18 pm    Assunto: Responder com Citação

marcelo_tux escreveu:
Eu tenho uma aplicação bem parecida com o que falou e fiz da seguinte maneira :
A abrir o aplicativo eu mostro um combobox com as opções EXTERNO e INTERNO , ou seja, se estiver na rede local eu escolho INTERNO e pego o hostname local, se escolher o EXTERNO eu pego o hostname externo, o código fica mais ou menos assim :

if ComboBox1.Selected.Text = 'INTERNO' then
begin
ClientModule1.SQLConnection1.Params.Clear;
ClientModule1.SQLConnection1.Params.Add('Port=porta');
ClientModule1.SQLConnection1.Params.Add('HostName=hostname local');
ClientModule1.SQLConnection1.Params.Add('CommunicationProtocol=tcp/ip');
ClientModule1.SQLConnection1.Params.Add('DatasnapContext=datasnap/');
ClientModule1.SQLConnection1.Open;
end;
if ComboBox1.Selected.Text = 'EXTERNO' then
begin
ClientModule1.SQLConnection1.Params.Clear;
ClientModule1.SQLConnection1.Params.Add('Port=porta');
ClientModule1.SQLConnection1.Params.Add('HostName=hostname externo');
ClientModule1.SQLConnection1.Params.Add('CommunicationProtocol=tcp/ip');
ClientModule1.SQLConnection1.Params.Add('DatasnapContext=datasnap/');
ClientModule1.SQLConnection1.Open;
end;

Obs : Lembrando que para ter um hostname externo vc tem que ter um acesso externo como nosso amigo akenatum mencionou acima.





Obrigado Gente...muito obrigado
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Mobile com Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB