 |
ActiveDelphi .: O site do programador Delphi! :.
|
| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
prosystemasrn Novato

Registrado: Sexta-Feira, 6 de Agosto de 2004 Mensagens: 68
|
Enviada: Dom Jul 08, 2018 7:20 am Assunto: Acessar servidor Datasnap no computador por Celular Android |
|
|
| Companheiros sou novo no desenvolvimento de sistema android utilizando delphi xe8, como posso fazer minha aplicação android acessar o banco de dados no computador ? Montei um serviço no computador TDEVRcocks com exemplo encontrado na Net configurando para comunicação TCPIP, mas não consigo fazer o celular ter acesso a isso. Fico grato pela ajuda. |
|
| Voltar ao Topo |
|
 |
igormoita Profissional


Registrado: Quinta-Feira, 14 de Janeiro de 2010 Mensagens: 601
|
Enviada: Seg Jul 09, 2018 10:57 am Assunto: |
|
|
Com sua descrição ficou tudo muito vago, mas:
Verifique se o celular tem conexão com o computador (tem apps de Ping no Android);
Verifique se a porta do DataSnap está liberada se não estiver utilizando DataSnap, verifique se o Banco de Dados tem permissão para acesso remoto; _________________ SEMPRE COLOQUE [RESOLVIDO] NO SEU POST |
|
| Voltar ao Topo |
|
 |
prosystemasrn Novato

Registrado: Sexta-Feira, 6 de Agosto de 2004 Mensagens: 68
|
Enviada: Seg Jul 09, 2018 11:45 am Assunto: |
|
|
| igormoita escreveu: | Com sua descrição ficou tudo muito vago, mas:
Verifique se o celular tem conexão com o computador (tem apps de Ping no Android);
Verifique se a porta do DataSnap está liberada se não estiver utilizando DataSnap, verifique se o Banco de Dados tem permissão para acesso remoto; |
Olá Companheiro, desde já agradeço por sua atenção. Expondo melhor o assunto, fiz um executável com Servidor Datasnap, todo configurado certinho, com endereço IP, porta de comunicação, ativei ele no computador servidor e testei, funcionando até ai tudo blz. Parti para o desenvolvimento da aplicação android com o delphi xe8 sendo multi device, opção de serviço de comunicação cliente servidor, datasnap rest client module, sendo a partir dai a construção da aplicação mobile, inclusive configurando o componente de acordo e testando a comunicação com o banco, o problema esta quando passo o aplicativo para rodar no celular ele simplesmente não se comunica com o servidor. Valendo ressaltar que o celular acessa a mesma rede de comunicação com a Internet ou seja através do mesmo roteador e configuração de sinal.
O que estarei faltando para que funcione. |
|
| Voltar ao Topo |
|
 |
strak2012 Colaborador


Registrado: Segunda-Feira, 13 de Janeiro de 2014 Mensagens: 1518 Localização: Maceió - AL
|
Enviada: Seg Jul 09, 2018 12:24 pm Assunto: |
|
|
| prosystemasrn escreveu: | | igormoita escreveu: | Com sua descrição ficou tudo muito vago, mas:
Verifique se o celular tem conexão com o computador (tem apps de Ping no Android);
Verifique se a porta do DataSnap está liberada se não estiver utilizando DataSnap, verifique se o Banco de Dados tem permissão para acesso remoto; |
Olá Companheiro, desde já agradeço por sua atenção. Expondo melhor o assunto, fiz um executável com Servidor Datasnap, todo configurado certinho, com endereço IP, porta de comunicação, ativei ele no computador servidor e testei, funcionando até ai tudo blz. Parti para o desenvolvimento da aplicação android com o delphi xe8 sendo multi device, opção de serviço de comunicação cliente servidor, datasnap rest client module, sendo a partir dai a construção da aplicação mobile, inclusive configurando o componente de acordo e testando a comunicação com o banco, o problema esta quando passo o aplicativo para rodar no celular ele simplesmente não se comunica com o servidor. Valendo ressaltar que o celular acessa a mesma rede de comunicação com a Internet ou seja através do mesmo roteador e configuração de sinal.
O que estarei faltando para que funcione. |
Acho que posso te dá mais uma orientação neste aspecto.
Em android conexão por a outro dispositivo deve ser feito através de uma thread a parte nunca no thread principal isso não é da linguagem empregada e sim um requisito imposto pelo próprio Android (segundo por alegação de segurança e estabilidade do próprio sistema operacional).
Um exemplo é a conexão com banco mysql de forma direta, tanto no Delphi quanto no eclipse só funcionara se a comunicação e a conexão com o banco ocorrer em uma thread a parte.
Dá uma atenção a este aspecto pois acredito que seu problema tb passa por isso. _________________ Tudo podemos quando tudo sabemos! |
|
| Voltar ao Topo |
|
 |
igormoita Profissional


Registrado: Quinta-Feira, 14 de Janeiro de 2010 Mensagens: 601
|
Enviada: Seg Jul 09, 2018 1:33 pm Assunto: |
|
|
| prosystemasrn escreveu: | | igormoita escreveu: | Com sua descrição ficou tudo muito vago, mas:
Verifique se o celular tem conexão com o computador (tem apps de Ping no Android);
Verifique se a porta do DataSnap está liberada se não estiver utilizando DataSnap, verifique se o Banco de Dados tem permissão para acesso remoto; |
Olá Companheiro, desde já agradeço por sua atenção. Expondo melhor o assunto, fiz um executável com Servidor Datasnap, todo configurado certinho, com endereço IP, porta de comunicação, ativei ele no computador servidor e testei, funcionando até ai tudo blz. Parti para o desenvolvimento da aplicação android com o delphi xe8 sendo multi device, opção de serviço de comunicação cliente servidor, datasnap rest client module, sendo a partir dai a construção da aplicação mobile, inclusive configurando o componente de acordo e testando a comunicação com o banco, o problema esta quando passo o aplicativo para rodar no celular ele simplesmente não se comunica com o servidor. Valendo ressaltar que o celular acessa a mesma rede de comunicação com a Internet ou seja através do mesmo roteador e configuração de sinal.
O que estarei faltando para que funcione. |
Estar na mesmo rede não necessariamente quer dizer que vai dar certo a conexão. Um teste que vc pode fazer é: fazer uma função que testa conexão, gerar o .exe Win32, colocar em outra máquina e testar a conexão. Como estamos falando de servidor podemos ter vários detalhes que impedem a conexão remota por questões de segurança.
Seu servidor é local (um pc físico que vc tem acesso) ou remoto (uma VM na nuvem, tipo Azure ou Amazon)?
Sobre a questão da conexão em Thread, eu não sei se seria esse o problema, por exemplo meu projeto: Delphi 10.2.2, Android, conexão local via FDConnection em um DataModule (Class FMX) e um RESTConnection para fazer as chamadas necessárias com o servidor remoto. Não precisei programar diretamente nenhum Thread para dar certo nenhuma das conexões, posso ter feito bem errado, mas está funcional. _________________ SEMPRE COLOQUE [RESOLVIDO] NO SEU POST |
|
| Voltar ao Topo |
|
 |
prosystemasrn Novato

Registrado: Sexta-Feira, 6 de Agosto de 2004 Mensagens: 68
|
Enviada: Seg Jul 09, 2018 10:30 pm Assunto: Acessar servidor Datasnap no computador por Celular Android |
|
|
| Vlw, companheiro. Em resposta, o computador que uso é um PC de minha residencia que é onde construo meus programas, minha aplicação servidora esta nesse computador, configurei o servidor com o endereço IP deste PC habilitei a porta 8090 e a aplicação que fiz em Android esta no meu celular que pesquisa a porta e o IP do servidor, só que não acessa. |
|
| Voltar ao Topo |
|
 |
igormoita Profissional


Registrado: Quinta-Feira, 14 de Janeiro de 2010 Mensagens: 601
|
Enviada: Ter Jul 10, 2018 7:37 am Assunto: Re: Acessar servidor Datasnap no computador por Celular Android |
|
|
| prosystemasrn escreveu: | | Vlw, companheiro. Em resposta, o computador que uso é um PC de minha residencia que é onde construo meus programas, minha aplicação servidora esta nesse computador, configurei o servidor com o endereço IP deste PC habilitei a porta 8090 e a aplicação que fiz em Android esta no meu celular que pesquisa a porta e o IP do servidor, só que não acessa. |
Eu continuo achando que é problema de permissão, então tente fazer assim:
Abra o Painel de Controle;
Pesquise por 'Permitir' ou qualquer palavra chave até achar a opção da linha a baixo;
Clique em Permitir um programa pelo Firewall do Windows;
Clique em Alterar Configurações ou direto em Adicionar um Programa;
Escolha sua aplicação servidora e permita;
Nos servidores da Azeru este é um dos passos para permitir acesso remoto no servidor de aplicação.
Vc tem possibilidade de testar conexão de outro PC? (Por exemplo uma máquina física ou uma VM) _________________ SEMPRE COLOQUE [RESOLVIDO] NO SEU POST |
|
| Voltar ao Topo |
|
 |
prosystemasrn Novato

Registrado: Sexta-Feira, 6 de Agosto de 2004 Mensagens: 68
|
Enviada: Qua Jul 11, 2018 9:56 am Assunto: Re: Acessar servidor Datasnap no computador por Celular Android |
|
|
| igormoita escreveu: | | prosystemasrn escreveu: | | Vlw, companheiro. Em resposta, o computador que uso é um PC de minha residencia que é onde construo meus programas, minha aplicação servidora esta nesse computador, configurei o servidor com o endereço IP deste PC habilitei a porta 8090 e a aplicação que fiz em Android esta no meu celular que pesquisa a porta e o IP do servidor, só que não acessa. |
Eu continuo achando que é problema de permissão, então tente fazer assim:
Abra o Painel de Controle;
Pesquise por 'Permitir' ou qualquer palavra chave até achar a opção da linha a baixo;
Clique em Permitir um programa pelo Firewall do Windows;
Clique em Alterar Configurações ou direto em Adicionar um Programa;
Escolha sua aplicação servidora e permita;
Nos servidores da Azeru este é um dos passos para permitir acesso remoto no servidor de aplicação.
Vc tem possibilidade de testar conexão de outro PC? (Por exemplo uma máquina física ou uma VM) |
Olá Igor, agradeço o apoio que esta me dando, verifiquei meu computador indo diretamente no firewall e constatei que o aplicativo servidor esta habilitado e com liberação para acesso ou seja esta desbloqueado para que algum aplicativo que venha a utiliza-lo não esteja impedido, inclusive coloquei a opção publico ativada.
Fiz novo teste da aplicação instalada no celular, mas infelizmente não funcionou. |
|
| Voltar ao Topo |
|
 |
igormoita Profissional


Registrado: Quinta-Feira, 14 de Janeiro de 2010 Mensagens: 601
|
Enviada: Qua Jul 11, 2018 10:04 am Assunto: |
|
|
Vc disse que o servidor é a própria máquina de desenvolvimento, você consegue deixar o DataSnap rodando em Debug e vc 'debugar' o método chamada?
Por exemplo: Primeiro método que o celular chama no DataSnap é o 'RelizarLogin', dá um BreakPoint no projeto servidor nesse método e verifica se ele pelo menos entra. Entende?
Vamos tentar excluir as outras opções de problema, visto que, aparentemente, está tudo certo nas config do PC. _________________ SEMPRE COLOQUE [RESOLVIDO] NO SEU POST |
|
| Voltar ao Topo |
|
 |
prosystemasrn Novato

Registrado: Sexta-Feira, 6 de Agosto de 2004 Mensagens: 68
|
Enviada: Dom Jul 15, 2018 6:08 pm Assunto: |
|
|
| igormoita escreveu: | Vc disse que o servidor é a própria máquina de desenvolvimento, você consegue deixar o DataSnap rodando em Debug e vc 'debugar' o método chamada?
Por exemplo: Primeiro método que o celular chama no DataSnap é o 'RelizarLogin', dá um BreakPoint no projeto servidor nesse método e verifica se ele pelo menos entra. Entende?
Vamos tentar excluir as outras opções de problema, visto que, aparentemente, está tudo certo nas config do PC. |
Olá Igor, quero lhe agradecer pelo apoio que está me dando. Fiz o teste instalando uma VM e consegui acessar o ServidorRest no navegador digitando o endereço IP da maquina servidora e incluindo a porta que liberei. Sendo assim essa seria a configuração de acesso da minha aplicação Cliente/Servidor?
Obrigado amigo, você realmente está levando em consideração meu esforço em querer aprender. |
|
| Voltar ao Topo |
|
 |
igormoita Profissional


Registrado: Quinta-Feira, 14 de Janeiro de 2010 Mensagens: 601
|
Enviada: Seg Jul 16, 2018 9:43 am Assunto: |
|
|
Ok, então vamos mudar a abordagem.
Segue código para testar conexão: https://textuploader.com/dzzmp
Agora queremos testar se está dando certo a conexão do Celular com a Aplicação Servidora, não necessariamente com o Banco de Dados.
O teste irá fazer um 'ping' no Host e Port, não irá solicitar nada de banco, se a conexão der certo, poderemos excluir uma gama de possibilidades em relação à rede e focar em questão de Configuração do Banco de Dados. _________________ SEMPRE COLOQUE [RESOLVIDO] NO SEU POST |
|
| Voltar ao Topo |
|
 |
prosystemasrn Novato

Registrado: Sexta-Feira, 6 de Agosto de 2004 Mensagens: 68
|
Enviada: Ter Jul 17, 2018 4:25 pm Assunto: |
|
|
| igormoita escreveu: | Ok, então vamos mudar a abordagem.
Segue código para testar conexão: https://textuploader.com/dzzmp
Agora queremos testar se está dando certo a conexão do Celular com a Aplicação Servidora, não necessariamente com o Banco de Dados.
O teste irá fazer um 'ping' no Host e Port, não irá solicitar nada de banco, se a conexão der certo, poderemos excluir uma gama de possibilidades em relação à rede e focar em questão de Configuração do Banco de Dados. |
Ok, amigo, presumo então que devo colocar essas linhas de código no evento oncreate do formulário de minha aplicação!!?
Quando ativei a VM consegui carregar o Servidor DataSnap no navegador da VM, fiz varios testes para ver se realmente estava funcionando, Startando e Interrompendo a ação do servidor. Notei contundo que a unica função que consegui chamar do servidor foi ReversetString, as outras eu não conseguir acessar.
Vou testar hoje para ver o resultado.
Vlw |
|
| Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|