Usuário com melhor resposta
Conectar com o Servidor

Pergunta
-
Gostaria que alguém me indicasse uma maneira mais eficaz de uma máquina qualquer se conectar com um servidor (minha máquina) da mesma rede.
Fiz um programa de controle de horários aqui na empresa e o programa verifica primeiro se existe conexão com o servidor antes de inserir os dados no MySQL.
Atualmente estou usando o VS2010 e o comando My.Computer.Network.Ping("192.168.2.3"), onde 192.168.2.3 é o ip do servidor (minha máquina).
Mas ao executar este trecho, o programa dá uma travada, demora mais ou menos 8s para se estabelecer e já fiz testes e, às vezes, nestes testes, mesmo minha máquina fora da rede, o programa retornava True (na rede) e, em certos momentos, com a máquina na rede, o programa retornava False (fora da rede).
O comando My.Computer.Network.IsAvailable não serve porque o servidor é na minha máquina e o programa roda na recepção.
Se alguém souber outra maneira de fazer a conexão entre duas máquinas, eu agradeceria muito.
Respostas
-
Oliveira,
Já pensou em utilizar um BackGroundWorker para executar a checagem se o servidor está ativo?
http://dotnetperls.com/backgroundworker
André Alves de Lima
Microsoft MVP - Client App Dev
Visite o meu site: http://www.andrealveslima.com.br
Me siga no Twitter: @andrealveslima- Sugerido como Resposta AndreAlvesLimaModerator terça-feira, 1 de fevereiro de 2011 12:28
- Marcado como Resposta AndreAlvesLimaModerator sábado, 12 de fevereiro de 2011 12:34
Todas as Respostas
-
Oliveira por que você simplesmente nao tenta inserior, caso o servidor esteja fora sera reportado um erro especifico, você trata este erro da forma correta informando ao usuário que o servidor ta OFF ou fazendl alguma coisa para contornar o problema ou notificiar alguem
Olavo Oliveira Neto
http://olavooneto.wordpress.com
Se for útil marque como resposta e faça um Developer feliz :) -
Tente utilizar System.Net.NetworkInformation.
Para saber mais acesse o site da microsoft http://msdn.microsoft.com/en-us/library/system.net.networkinformation.ping(v=VS.90).aspx
Um grande abraço.
Anderson Calixto
-
Oliveira por que você simplesmente nao tenta inserior, caso o servidor esteja fora sera reportado um erro especifico, você trata este erro da forma correta informando ao usuário que o servidor ta OFF ou fazendl alguma coisa para contornar o problema ou notificiar alguem
Olavo Oliveira Neto
http://olavooneto.wordpress.com
Se for útil marque como resposta e faça um Developer feliz :)
O problema é este, já fiz todos os tratamentos de erro possíveis, já fiz até uma janela PopUp dizendo que o programa tá OFF, mas o programa trava e fica congelado tentando acessar o servidor.O que eu queria era testar a conexão com o servidor sem que ficasse congelado/travado na tela do PC.
-
Oliveira,
Já pensou em utilizar um BackGroundWorker para executar a checagem se o servidor está ativo?
http://dotnetperls.com/backgroundworker
André Alves de Lima
Microsoft MVP - Client App Dev
Visite o meu site: http://www.andrealveslima.com.br
Me siga no Twitter: @andrealveslima- Sugerido como Resposta AndreAlvesLimaModerator terça-feira, 1 de fevereiro de 2011 12:28
- Marcado como Resposta AndreAlvesLimaModerator sábado, 12 de fevereiro de 2011 12:34