Preciso de uma aplicação para comunicação entre uma página web e um computador windows.
Esta aplicação precisa ler o conteúdo da página web a cada intervalo de tempo pré-determinado, mostrar uma parte deste conteúdo na tela da aplicação no desktop e processar alguns comandos, como criar um arquivo, aguardar o processamento de algumas informações por outro programa do computador e enviar a resposta para o site.
Não precisa ser um programa instalavel, mas apenas executável.
São necessários pelo menos 2 Arquivos, um para configuração e o segundo o executável.
=======================================================================
1º -
config.ini
Contém os parâmetros do sistema:
_______________________________________________
TextoTitulo=TituloDoProgramaQueApareceNaBarraSuperior
TextoBotaoProcessar=Processar
TextoBotaoReiniciar=Reiniciar
TextoAguardando=Aguardando
ServidorIni=
http://site.com/ini.php?id=id
ServidorResp=
http://site.com/resp.php?id=id
TimeWaitSegundos=30 //este tempo deve poder ser definido para valores maiores como 600 (10 min) ou 3600 (1 hora) por exemplo
TimeOutSegundos=30 //este tempo será sempre menor que 60
CriarArquivoTemp=c:/temp/
temp.txt
RenomearArquivoTemp=c:/temp/
fim.txt
AguardarArquivo=c:/temp/
resposta.txt
_______________________________________________
=======================================================================
2º -
monitor.exe
Este programa, quando aberto deve ficar na barra de tarefas e monitorar a pagina web ‘ServidorIni’ definida em ‘
config.ini’ a cada intervalo de tempo definido em ‘TimeWaitSegundos’ e quando o status desta pagina web apresentar um conteúdo especifico deve se sobrepor a todas as janelas abertas e aguardar uma ação do usuário.
A partir do texto exibido na página web, que precisamos combinar como será processado pela aplicação, pois não sei qual a melhor forma de se receber e processar os dados obtidos da página web, mas pensei nas seguintes hipóteses:
A - Exibir como XML:
->Para status aguardando:
[ ?xml version="1.0" encoding="UTF-8"?>
[ urlset xmlns="
http://www.sitemaps.org/schemas/sitemap/0.9">
[status>Aguardando [ /status>
[tela>
[ linha1>Linha 1[/ linha1>
[ linha2>Linha 2[/ linha2>
[ linha3>Linha 3[/ linha3>
[ /tela>
[ /urlset>
->Quando tiver que processar comandos:
[ ?xml version="1.0" encoding="UTF-8"?>
[ urlset xmlns="
http://www.sitemaps.org/schemas/sitemap/0.9">
[status>Processar [ /status>
[tela>
[ linha1>Linha 1[/ linha1>
[ linha2>Linha 2[/ linha2>
[ linha3>Linha 3[/ linha3>
...Podem haver mais linhas, deve-se analisar esta quantidade.
[ /Tela>
[ arquivo>
[ linha1>Linha 1=1[/ linha1>
[ linha2>Linha 2=2[/ linha2>
[ linha3>Linha 3=3[/ linha3>
...Podem haver mais linhas, deve-se analisar esta quantidade.
[ /Arquivo>
[ /urlset>
B – Exibir dividindo com marcadores específicos, onde o ‘\\’significa o inicio do parâmetro e o ‘//’ significa o final e onde o inicial ‘00’ significa o status da ação, o inicial 01 significa que este parâmetro deve ser usado para exibir na tela e o ‘02’ que este parâmetro deve ser usado para criar o arquivo, o que vier depois do ponto, ex “01.01”, “01.02”, deve ser impresso na linha especifica e os dois pontos ‘:’ separa o parâmetro do conteúdo. Ex.:
Aguardando
\\00:Aguardando//\\01.01:linha1//\\01.02:linha2//\\01.03:linha3//
...Podem haver mais linhas, deve-se analisar esta quantidade.
Processar
\\00:Processar//\\01.01:linha1//\\01.02:linha2//\\01.03:linha3//\\02.01:linha1=1//\\02.02:linha2=2//\\02.03:linha3=3//
...Podem haver mais linhas, deve-se analisar esta quantidade.
Nas duas opções acima o programa precisa interpretar da seguinte forma:
->Caso seja o status “Aguardando”:
Exibir na tela, obedecendo as quebras de linha:
_____________________________________
Linha1
Linha2
Linha3
...Demais Linhas abaixo
_____________________________________
O botão abaixo do texto deve ser NÂO clicavel e exibir o conteúdo do parâmetro “TextoAguardando”
->Caso seja o status “Processar”:
Exibir na tela, obedecendo as quebras de linha:
_____________________________________
Linha1
Linha2
Linha3
...Demais Linhas abaixo
_____________________________________
O botão abaixo do texto deve ser clicavel e exibir o conteúdo do parâmetro “TextoBotaoProcessar”
Criar um arquivo, no caminho ‘CriarArquivoTemp’ com base nos parâmetros do arquivo ‘
config.ini’, obedecendo as quebras de linha:
_____________________________________
Linha1=1
Linha2=2
Linha3=3
...Demais Linhas abaixo
_____________________________________
Ao clicar no botão “TextoBotaoProcessar” ele passa a não ser mais clicavel e exibe o texto do parâmetro “TextoAguardando”, o arquivo criado e especificado em “CriarArquivoTemp” é renomeado para “RenomearArquivoTemp”.
Neste momento se aguarda um arquivo de resposta que é o especificado em “AguardarArquivo”.
Deve-se criar um timeout do tempo especificado em “TimeOutSegundos” para que se não houver nenhuma resposta pelo tempo especificado o programa recomece o processo e recarregue a pagina web definida em “ServidorIni”.
Se houver a resposta com a criação do arquivo “AguardarArquivo” o programa lê o conteúdo do arquivo que sempre é no formato “parametro=conteúdo” com várias linhas seguindo este padrão e deve criar um link colocando cada linha em um GET. Ex.:
Arquivo de resposta é:
_____________________________________
Linha1=linha1
Linha2=linha2
Linha3=linha3
...Demais Linhas abaixo
_____________________________________
Deve ser acessada a página web “ServidorResp“ + cada linha do arquivo em um get “&linha1=1”. Ex.:
http://site.com/resp.php?id=id&linha1=linha1&linha2=linha2&linha3=linha3 ...Demais Linhas na sequencia
Ao enviar este parâmetro deve-se aguardar a resposta “Sucesso” do site web pelo tempo definido no parâmetro “TimeOutSegundos”, caso ela não apareça deve se exibir na tela a informação de “Servidor Indisponível, tente mais tarde” e o botão abaixo da tela deve apresentar o conteúdo do parâmetro “TextoBotaoReiniciar” e ao ser clicado o processo é reiniciado:
Status Sucesso:
[ ?xml version="1.0" encoding="UTF-8"?>
[ urlset xmlns="
http://www.sitemaps.org/schemas/sitemap/0.9">
[status>Sucesso [ /status>
[tela>
[ linha1>Linha 1[/ linha1>
[ linha2>Linha 2[/ linha2>
[ linha3>Linha 3[/ linha3>
[ /tela>
[ /urlset>
Ou:
\\00:Sucesso//\\01.01:linha1//\\01.02:linha2//\\01.03:linha3//
Em todas estas etapas que necessitam de acesso ao site web deve- se verificar 2 hipóteses:
1 – O link do site estar fora do ar, então deve se exibir na tela a informação de “Servidor Indisponível, tente mais tarde” e o botão abaixo da tela deve apresentar o conteúdo do parâmetro “TextoBotaoReiniciar” e ao ser clicado o processo é reiniciado;
2 – O site web “ServidorIni” não exibir os parâmetros esperados, como “Aguardando” ou “Processar”, então deve se exibir na tela a informação “Acesso Negado, entre em contato com o administrador” e o botão abaixo da tela deve apresentar o conteúdo do parâmetro “TextoBotaoReiniciar” e ao ser clicado o processo é reiniciado.
Prazo de Entrega: 12 de Maio de 2018