COMUNICACAO ENTRE DOIS EXECUTAVEIS

GGERMINIANI 14/08/2013 11:21:01
#427524
Pessoal,
Seguinte...

Confesso que não sei nem por onde começar e nem sei se é possível...

Pretendo trabalhar com 2 executáveis, sendo um para clientes e outro para o servidor.

O programa cliente já esta pronto... Ele fica com um timer ativo, verificando a cada X minutos um procedimento específico do usuário.



Peguei o endereço de IP e o Nome da Rede.

No Server, pretendo listar todos os IPs da rede local (também preciso pesquisar sobre isso), e a cada IP, pretendo verificar no programa Cliente se está com Status Ativo ou Inativo.

Alguém faz ideia de como e por onde começar?

Obrigado!
KERPLUNK 14/08/2013 11:47:19
#427527
Vamos ver se entendi, você quer enviar para um aplicativo servidor, as informações de atividade do usuário, isso?
GGERMINIANI 14/08/2013 11:52:37
#427528
isso... basta enviar True ou False para o programa Server, ou o contrário.. o Server lista os Ips da rede local e vai pegando os resultados (verdadeiro ou falso).


Exemplificando: no final de tudo, quero que a aplicação server me dê uma lista com o número de IP e ao lado VERDADEIRO o FALSO - referente se tal aplicação está aberta - no exemplo acima, o Skype.
KERPLUNK 14/08/2013 13:58:23
#427537
Bem vamos lá. O que eu respondo para tópicos nesse segmento:
1 - Esse controle não é feito no client, e sim no server.
2 - Isso é invasão de privacidade. Assim como você está querendo monitorar atividade de um determinado programa aberto, pode muito bem ser usado para capturar dados pessoais, até mesmo senhas de banco.
3 - Se quer inibir o uso de uma aplicação por usuários da rede, esse controle é feito no servidor e não no cliente.

GGERMINIANI 14/08/2013 14:14:30
#427541
Kerplunk, você interpretou de maneira errada...

1 - A instalação desse programa será feita dentro de nossa empresa.
2 - A política de uso dos equipamentos da empresa já estão bem definidas. Não permitimos que entrem em banco ou usem as máquinas para serviços pessoais durante o expediente, justamente para precavemos nossos funcionários e nos isentarmos de tal responsabilidade.
3 - A grosso modo, pretendo fazer uma aplicação neste formato, pois estou desenvolvendo um sistema de faturamento, e quero trabalhar com uma tabela de logins ativos em tempo real. Se essa minha pequena aplicação não encontrar o sistema de faturamento ativo no cliente, o monitoramento da maquina avisa ao servidor e o servidor automaticamente muda o status do login de ativo para inativo. Seria está a finalidade deste programa.
4 - Como explico acima, não quero inibir. Quero monitorar os logins ativos. Antes que venha a pergunta: [Ô]Mas pq vc não não altera o status do login para inativo quando o mesmo sai do programa?[Ô] Simples, pq o programa pode travar, a pessoa finalizar a tarefa forçadamente e então o banco de dados apresentaria essa falha de um login ativo erroneamente.

Você poderia ajudar neste sentido?

Grato,
Gustavo.
ASHKATCHUP 14/08/2013 15:25:37
#427544
Pelo que entendi, teu problema pode ser dividido em duas partes:
-Monitorar processos
-Envio de informações entre cliente-servidor

Em que parte tu precisa de ajuda, Gustavo?
GGERMINIANI 14/08/2013 15:32:41
#427545
Opa, vamos lá.

[Ô]Monitorar processos[Ô] se refere à um processo exclusivo - um programa de FATURAMENTO que estou desenvolvendo, vamos supor que ele se chame FATUR.

A aplicação cliente, de modo geral já desenvolvi:
A cada 1 minuto o monitoramento_cliente verifica se o FATUR está sendo executado na máquina local.

Bem, com essas informações pretendo o seguinte:
O monitoramento_servidor deve deve receber de cada monitoramento_cliente o status se está ou não com o FATUR executando...

A partir dessas respostas, será rodado um procedimento dentro do banco de dados do FATUR.

Gostaria de ajuda para como faço que o monitoramento_cliente envie para o servidor TRUE ou FALSE (se está com o FATUR executando ou não).
ASHKATCHUP 14/08/2013 15:38:23
#427546
Bom, suponho que tu saiba verificar os processos do windows e perceber se o [Ô]FATUR.EXE[Ô] está ou não em execução.

A comunicação entre o servidor e o cliente pode ser feita através de SOCKETS.

Tem até um exemplo aqui no site: http://www.vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=7448
GGERMINIANI 14/08/2013 15:41:02
#427547
Exato, a verificação do windows já está sendo feita com sucesso.

Muito obrigado... vou ler e analisar o conteúdo... retorno com a resposta.

Grato,
Gustavo.
Faça seu login para responder