Redundância em VB, Checar se outro PC tá funcionando?

4 respostas
dmandrak

E ae galera!

Venho mais uma vez recorrer a meus tutores!

Como eu faço em VB, pra ver se o outro computador, responsável pela redundância de um processo, está funcionando?

A minha idéia por enquanto é ficar acessando, do PC secundário, um arquivo de texto no PC principal. Se eu não conseguir, ou seja, der uma exceção, o PC secundário assume os trabalhos até conseguir (PC principal de volta online).

Mas, COM CERTEZA, deve haver uma maneira mais elegante de se fazer isso.

Procurei na net mas não achei nenhuma solução razoavelmente simples como essa do txt.

Alguém se habilita?

4 Respostas

gomesrod

Olá,

Tem uma falha importante no seu processo, é o seguinte: você verifica se o computador está “vivo”, mas não faz nenhum teste para saber se o programa que interessa está no ar.

Uma solução que em minha opinião resolve os 2 problemas (tanto o que eu citei quanto o que vc tinha comentado, que é a “elegância”) é o seguinte:
Abra uma porta no computador principal, usando socket. No computador de redundancia, conecte-se a essa porta e envie uma mensagem de tempos em tempos, aguardando a resposta (você deve criar uma “pergunta padrão” e uma “resposta padrão”). Se não vier a resposta esperada é porque o computador e/ou o programa caíram.

dmandrak

gomesrod:
Olá,

Tem uma falha importante no seu processo, é o seguinte: você verifica se o computador está “vivo”, mas não faz nenhum teste para saber se o programa que interessa está no ar.

Uma solução que em minha opinião resolve os 2 problemas (tanto o que eu citei quanto o que vc tinha comentado, que é a “elegância”) é o seguinte:
Abra uma porta no computador principal, usando socket. No computador de redundancia, conecte-se a essa porta e envie uma mensagem de tempos em tempos, aguardando a resposta (você deve criar uma “pergunta padrão” e uma “resposta padrão”). Se não vier a resposta esperada é porque o computador e/ou o programa caíram.

Mas a sua solução é realmente beeeeeeeem mais genial, porque se o PC estivesse ligado sem rodar o meu programa, eu estaria perdido.
(No fundo não é uma falha, mas sim uma incapacidade minha de fazer diferente :()

Mas cara, a pergunta agora é, o VB abre e testa portas no PC?

Confesso que nunca vi código com nada parecido.

Vou procurar no Google, mas se você puder dar um exemplo eu serei grato.

De qualquer forma, valeu pela idéia! :smiley:

gomesrod

Sim, é simples fazer isso em VB.

Se for VB6 pesquise sobre WINSOCK
Se for .NET procure algo sobre “.NET SOCKETS”

dmandrak

gomesrod:
Sim, é simples fazer isso em VB.

Se for VB6 pesquise sobre WINSOCK
Se for .NET procure algo sobre “.NET SOCKETS”

No fundo é VBA mas eu vou procurar o Winsock.

Deve funcionar né?

Cara, muito obrigado!

Se eu tiver outra dúvida, ou se não funcionar, volto aqui :stuck_out_tongue:

E se funcionar, quem sabe eu não posto aqui para a posteridade :wink:

Criado 1 de outubro de 2008
Ultima resposta 1 de out. de 2008
Respostas 4
Participantes 2