Autor Tópico: Transmissão de arquivos Windev mobile - Windev  (Lida 13719 vezes)

Chesini

  • Newbie
  • *
  • Mensagens: 44
  • Karma: +0/-0
Transmissão de arquivos Windev mobile - Windev
« Online: Abril 11, 2012, 06:09:06 pm »
Quais são as formas de enviar e receber arquivos texto entre windev mobile(tanto em android quanto windows mobile) e windev??
Alguem pode disponibilizar algum exemplo?
Ftp é um meio, mas não fica inseguro ?


JacquesBica

  • Full Member
  • ***
  • Mensagens: 197
  • Karma: +0/-0
  • Boas cercas fazem bons vizinhos
Re:Transmissão de arquivos Windev mobile - Windev
« Responder #1 Online: Abril 11, 2012, 06:17:47 pm »
Em nosso aplicativo WM de coleta de pedidos para Android, os dados da venda são transferidos para o servidor via FTP através de um txt. No servidor temos um aplicativo WD que faz uma varredura a cada "x" minutos na pasta do FTP e importa estes dados para o sistema. Não encontrei outra forma de comunicação entre o Android e o mundo exterior. Por sua vez, para carregar os cadastros (clientes, produtos e preços) do servidor para o Android, utilizo httprequest. Pena que o aplicativo no Android não conecta banco de dados externos.

Pode-se utilizar o envio via "pop" (email) e na outra ponta, rodar um aplicativo que recebe o email e extrai o anexo... achei que seria muita gambiarra.

jcesar

  • Full Member
  • ***
  • Mensagens: 172
  • Karma: +0/-0
Re:Transmissão de arquivos Windev mobile - Windev
« Responder #2 Online: Abril 13, 2012, 01:55:34 pm »
Faço da mesma forma que o JacquesBica, utilizo ftp e httprequest para troca de arquivos entre desktop e smartphone.

Um ponto forte deste método é que deve funcionar no Windows Mobile,Android, IOS e Windows Phone sem maiores problemas.

Hugo

  • Newbie
  • *
  • Mensagens: 12
  • Karma: +0/-0
Re:Transmissão de arquivos Windev mobile - Windev
« Responder #3 Online: Abril 17, 2012, 05:00:49 pm »
Se vc quer enviar ARQUIVO e pegar o ARQUIVO fica com o FTP então... Mas no caso do Jacques eu faria um WebService para enviar e buscar informações do banco.
Porem para utilizar um WebService do WinDev, vc deve ter um servidor com o WebDev Application Server para roda-lo.

JacquesBica

  • Full Member
  • ***
  • Mensagens: 197
  • Karma: +0/-0
  • Boas cercas fazem bons vizinhos
Re:Transmissão de arquivos Windev mobile - Windev
« Responder #4 Online: Abril 17, 2012, 06:26:31 pm »
Concordo. A solução mais enxuta seria implementando um webservice + Application Server etc. Eu até tenho o "kit" completo, mas não tive tempo de estudá-lo e, como já tinha o Apache rodando no servidor, acabei adotando o caminho mais curto.

Chesini

  • Newbie
  • *
  • Mensagens: 44
  • Karma: +0/-0
Re:Transmissão de arquivos Windev mobile - Windev
« Responder #5 Online: Maio 26, 2012, 11:50:30 am »
Oi pessoal,
Resolvi ir por FTP, o programa funciona, envia e recebe os arquivos.
Só que só está funcionando quando o aparelho está conectado ao computador pelo activesync.
O que preciso fazer pra ele usar o gprs?
No manual diz que o aparelho tendo(modem gprs), ele funciona automático. Devo estar pulando alguma configuração.
Pelo que li ainda, dá pra fazer por socket, mas não entendi como aplico.


Abraços.

JacquesBica

  • Full Member
  • ***
  • Mensagens: 197
  • Karma: +0/-0
  • Boas cercas fazem bons vizinhos
Re:Transmissão de arquivos Windev mobile - Windev
« Responder #6 Online: Maio 27, 2012, 10:56:12 am »
Bom dia.
Por gentileza, qual é a morca/modelo do aparelho que você está usando nos testes?

Chesini

  • Newbie
  • *
  • Mensagens: 44
  • Karma: +0/-0
Re:Transmissão de arquivos Windev mobile - Windev
« Responder #7 Online: Maio 28, 2012, 09:03:08 am »
Bom dia.
Por gentileza, qual é a morca/modelo do aparelho que você está usando nos testes?
Oi Jacques, é um Samsung B7300B Omnia Lite:

http://farm4.staticflickr.com/3365/3641716278_21ce479e59.jpg

JacquesBica

  • Full Member
  • ***
  • Mensagens: 197
  • Karma: +0/-0
  • Boas cercas fazem bons vizinhos
Re:Transmissão de arquivos Windev mobile - Windev
« Responder #8 Online: Maio 28, 2012, 09:15:16 am »
Lembro que nos idos tempos do "Treo" (Palm/OS) bastava parametrizar as "configurações de rede" para que fosse acionado GPRS se necessário. Bastava o usuário fazer a primeira conexão que o sistema era acionado e mantinha-se conectado o dia inteiro. No caso do GPRS, embora estivesse contectado, o usuário somente seria tarifado se trafegasse alguma coisa.

Chesini

  • Newbie
  • *
  • Mensagens: 44
  • Karma: +0/-0
Re:Transmissão de arquivos Windev mobile - Windev
« Responder #9 Online: Maio 28, 2012, 09:49:18 am »
Não, não funcionou.
Apesar dele entrar na internet normalmente, quando ele tenta conectar ao ftp aparece esse erro.
"Failure connecting to FTP server ("<endereço>") on port 21 with user name <nome do usuario>.
Last Server Response : <em branco>".
Só que conectando via active sync. ele conecta e transmite normalmente...

Chesini

  • Newbie
  • *
  • Mensagens: 44
  • Karma: +0/-0
Re:Transmissão de arquivos Windev mobile - Windev
« Responder #10 Online: Maio 28, 2012, 05:52:08 pm »
Através desta postagem http://forum.pcsoft.fr/thread.awp?groupid=pcsoft.us.windev&postid=182467
cheguei ao NetOpenRemoteAccess()

Fiz um list box e um botão confirma.
nas opções que o ListAdd(ListBoxConexao, NetListRemoteAccess()) oferece aparece as conexões existentes no celular(inclusive a que criei manualmente)

No botão tem esse código
nCntReturn = NetOpenRemoteAccess(ListBoxConexao[ListBoxConexao],"vivo")
[...]conexao via ftp

Agora aparece um erro desconhecido.
Alguém que usa windows mobile e conexão com internet pode me passar o caminho das pedras?

Abração.

zerloti

  • Jr. Member
  • **
  • Mensagens: 78
  • Karma: +0/-0
Re:Transmissão de arquivos Windev mobile - Windev
« Responder #11 Online: Maio 29, 2012, 11:52:44 am »
Bom dia Chesini
Vc verificou qual o tipo de conexão, se é passiva, caso contrário o servidor ira rejeitar a conexão.
resumindo , tente trocar o parametro de conexão , invertendo o que esta usando.
no exemplo abaixo foi informado false para o parametro ou seja o cliente (celular) controla e toma iniciativa na conexão,
por padrao é true o servidor ftp controla.

bPASSIVE = False

gfnConnectionID = FTPConnect(sUserOptions:sServerName,sUserOptions:sUser,sUserOptions:sPwd,sUserOptions:nPort,sUserOptions:bPASSIVE,sUserOptions:nTIMEOUT)

IF gfnConnectionID = -1 THEN
   // The connection failed
   Error("Falha ao conectar no servidor")
   HourGlass(False)
   Close(WIN_Conexao)
END

======
E quanto as formas de conexão , o windev disponibiliza tambem o RPC  onde é possivel acessar o banco de dados remotamente, atualmente a PcSOFT indica o uso do WebService, mas RPC, funciona muito bem ...

HOpenAnalysis("MyAnalysis.wdd", "", Edit_IP, Edit_User, Edit_PWD)


espero ter ajudado ,
boa sorte...

Chesini

  • Newbie
  • *
  • Mensagens: 44
  • Karma: +0/-0
Re:Transmissão de arquivos Windev mobile - Windev
« Responder #12 Online: Maio 29, 2012, 05:23:58 pm »
Bom dia Chesini
Vc verificou qual o tipo de conexão, se é passiva, caso contrário o servidor ira rejeitar a conexão.
resumindo , tente trocar o parametro de conexão , invertendo o que esta usando.
no exemplo abaixo foi informado false para o parametro ou seja o cliente (celular) controla e toma iniciativa na conexão,
por padrao é true o servidor ftp controla.

bPASSIVE = False

gfnConnectionID = FTPConnect(sUserOptions:sServerName,sUserOptions:sUser,sUserOptions:sPwd,sUserOptions:nPort,sUserOptions:bPASSIVE,sUserOptions:nTIMEOUT)

IF gfnConnectionID = -1 THEN
   // The connection failed
   Error("Falha ao conectar no servidor")
   HourGlass(False)
   Close(WIN_Conexao)
END
Oi Zerloti, troquei, mas continuou na mesma, o problema parece ser que o windev não faz a conexão com a internet. Pra dai conectar ao servidor de FTP.

======
E quanto as formas de conexão , o windev disponibiliza tambem o RPC  onde é possivel acessar o banco de dados remotamente, atualmente a PcSOFT indica o uso do WebService, mas RPC, funciona muito bem ...

HOpenAnalysis("MyAnalysis.wdd", "", Edit_IP, Edit_User, Edit_PWD)


espero ter ajudado ,
boa sorte...

Como funciona o RPC, é preciso ter um servidor dedicado? Se acontecer do usuário não conectar e assim acessar online, ele funciona de alguma forma offline com os dados ja gravados anteriormente?

zerloti

  • Jr. Member
  • **
  • Mensagens: 78
  • Karma: +0/-0
Transmissão de arquivos Windev mobile - Windev
« Responder #13 Online: Maio 30, 2012, 10:02:47 am »
Bom dia Chesini
Estranho, olha quando estava desenvolvendo usando o ftp, passei pelo mesmo problema , mudando a forma de conexão funcionou, levando em conta que o acesso a internet estava funcionando. Se existe conexão a internet, para windev é transparente, ou seja ele vai conectar nas redes disponíveis, existem funções de conexão , mas é para acesso discado, onde a conexão se da através de modem.

Quando vc diz que acessa o servidor ftp quando conecta o aparelho no micro, o servidor ftp esta na mesma rede interna ?, ja tentou acessar o servidor via internet através do desktop, verificou a questão do firewall.

espero ter ajudado ...
boa sorte

zerloti

  • Jr. Member
  • **
  • Mensagens: 78
  • Karma: +0/-0
Re:Transmissão de arquivos Windev mobile - Windev
« Responder #14 Online: Maio 30, 2012, 10:05:47 am »
Bom quanto ao RPC

funciona assim , no Windev no menu Workshop, opção RPC Server, nesta opção vc vai gera um aplicativo que vai
atuar como servidor de conexões onde fara a ponte entre sua base de dados e o dispositivos que conectarem remotamente, este pode ficar com um serviço do windows ou um aplicativo.(quando vc gera o RPC server, precisa informar a analise de dados, para o servidor conectar)

Quanto ao uso, eu prefiro desta maneira em relação ao ftp , em função de vc estar acessando a base de dados on line, sem necessidade de criar exportar ou importar arquivos para uso no ftp.

Isso não quer dizer que os dispositivos ficaram conectados full time. No mesmo processo hoje que vc faria para importar o arquivo texto , vc faria a mesma importação , só que através de uma query (consulta) no banco de dados, onde os registros da consulta vc atualiza na sua base local.

Enfim o processo é o mesmo , a vantagem é que teria o acesso on line do banco no momento da conexão , ao invés do acesso a algum arquivo estático, que requer algum tratamento posterior importação.
Tem condições de respostas imediatas, referente a dados enviados, ja que estaria acessando o banco de dados direto no momento da conexão.

Mas como citei anteriormente, com advento do webservice seria mais vantajoso utilizar onde o conceito é parecido.

Espero ter ajudado
Boa sorte...