Pegando Imagem de Maq em Rede
Pessoal,
Fiz um programinha simples que é parte integrante de um sistema maior que monitora a tela de computadores em uma rede rwindows utilizando os componentes TIdTCPServer e TIdTCPClient.
Tudo está funcionando bem agora que o sistema tem que avaliar apenas 20 máquinas, porém em 2006 passarão a ser 350!
Dito isto, esta é minha dúvida:
» Não consegui ´setar´ a propriedade <bindings> do TIdTCPServer (onde indica-se o ip e porta de origem) em tempo de execução, sendo assim tive que fazer um Server para !´cada máquina´! _ sei... parece idiotice, e é mesmo, mas estava com pouquíssimo tempo e não podia arriscar não conseguir desenvolver a budega! Agora com mais tempo e aparando as arestas, eu gostaria de saber se é possível mudar esta propriedade em tempo de execução para que eu possa pegar o IP co computador e seu usuário (funções que já tenho), fazendo assim somente um sistema que possa funcionar em qualquer máquina ?
Desde já agradeço a colaboração de todos.
Fiz um programinha simples que é parte integrante de um sistema maior que monitora a tela de computadores em uma rede rwindows utilizando os componentes TIdTCPServer e TIdTCPClient.
Tudo está funcionando bem agora que o sistema tem que avaliar apenas 20 máquinas, porém em 2006 passarão a ser 350!
Dito isto, esta é minha dúvida:
» Não consegui ´setar´ a propriedade <bindings> do TIdTCPServer (onde indica-se o ip e porta de origem) em tempo de execução, sendo assim tive que fazer um Server para !´cada máquina´! _ sei... parece idiotice, e é mesmo, mas estava com pouquíssimo tempo e não podia arriscar não conseguir desenvolver a budega! Agora com mais tempo e aparando as arestas, eu gostaria de saber se é possível mudar esta propriedade em tempo de execução para que eu possa pegar o IP co computador e seu usuário (funções que já tenho), fazendo assim somente um sistema que possa funcionar em qualquer máquina ?
Desde já agradeço a colaboração de todos.
Paulocesar1301
Curtidas 0
Respostas
Massuda
08/12/2005
Não entendi nada...
A princípio basta ter um programa servidor com um TIdTCPServer e nas máquina monitoradas ter o cliente com um TIdTCPClient. Periodicamente (pode usar um timer mesmo) o cliente manda para o servidor a imagem (snapshot) da área de trabalho.
No TIdTCPServer você tem que configurar apenas qual a porta que ele irá ´escutar´ (propriedade .DefaultPort). Já no TIdTCPClient você precisa configurar onde está o servidor (propriedade .Host, que pode ser o IP ou o nome - se houver DNS na sua rede - da máquina) e qual a porta que ele está escutando (propriedade .Port).
A princípio basta ter um programa servidor com um TIdTCPServer e nas máquina monitoradas ter o cliente com um TIdTCPClient. Periodicamente (pode usar um timer mesmo) o cliente manda para o servidor a imagem (snapshot) da área de trabalho.
No TIdTCPServer você tem que configurar apenas qual a porta que ele irá ´escutar´ (propriedade .DefaultPort). Já no TIdTCPClient você precisa configurar onde está o servidor (propriedade .Host, que pode ser o IP ou o nome - se houver DNS na sua rede - da máquina) e qual a porta que ele está escutando (propriedade .Port).
GOSTEI 0
Paulocesar1301
08/12/2005
Então não preciso indicar qual o IP da máquina onde está instalado o Server?
GOSTEI 0
Massuda
08/12/2005
Como escrevi no meu post anterior......se o PING tiver sucesso, você pode usar o nome da máquina do servidor. Usar o IP faz com que o tempo gasto na conexão seja menor, mas usar o nome da máquina tem suas vantagens também.
...Já no [b:d713cd7d59]TIdTCPClient[/b:d713cd7d59] você precisa configurar onde está o servidor (propriedade .Host, que [b:d713cd7d59]pode ser o IP ou o nome[/b:d713cd7d59] - se houver DNS na sua rede - da máquina)...
...logo ou você põe no TIdTCPClient.Host o IP da máquina do servidor ou você põe o nome da máquina do servidor; no segundo caso, teste antes se o sevidor pode ser localizado pelo nome a partir da máquina cliente fazendo o seguinte na máquina cliente...PING NomeDoServidor
GOSTEI 0
Massuda
08/12/2005
Talvez seja do seu interresse... [url=http://forum.clubedelphi.net/viewtopic.php?t=69507]neste tópico[/url] foi discutido como enviar uma imagem do cliente para o servidor.
GOSTEI 0
Paulocesar1301
08/12/2005
Obrigado
GOSTEI 0
Vitor Rubio
08/12/2005
Se precisar eu dou uma força. ^^
Pra ficar mais rápido eu tive que fazer uma procedure pra compactar a imagem usando zlib e mandar.
Se você puder capturar a imagem em baixa resolução ou em branco e preto, melhor ainda. Como eu não sabia como se faz isso, deixei como estava mesmo. Funciona só que fica meio lentinho.
Pra ficar mais rápido eu tive que fazer uma procedure pra compactar a imagem usando zlib e mandar.
Se você puder capturar a imagem em baixa resolução ou em branco e preto, melhor ainda. Como eu não sabia como se faz isso, deixei como estava mesmo. Funciona só que fica meio lentinho.
GOSTEI 0