Usuário com melhor resposta
[Resolvido]Monitorar conexoes IP com C#

Pergunta
-
Olá,
Preciso mfazer uma solução em Windows Forms para monitorar minhas conexôes de rede local e Internet.
Basicamente preciso saber quais as conexões existentes, se estas estão conectadas e quanto usuários estão conectados a estas redes.
Alguem pode me dar uma "Luz"?
http://fparmezani.wordpress.com- Editado Fernando Parmezani segunda-feira, 19 de dezembro de 2011 13:59
Respostas
-
Voce pode usar o WMI que possui uma linguagem de querys chamada WQL que realiza querys a computadores remotos buscando informações das mais diversas possíveis. A exibição dessas informações pode ser feita no formato que voce desejar.
Da uma olhada no link: http://www.csharphelp.com/2006/10/wmi-made-easy-for-c/
Se a minha resposta lhe foi util, marque "Propor como Proposta" para qualificar o conteudo do fórum. Obrigado, Vinicius Nunes Macedo- Marcado como Resposta Fernando Parmezani quarta-feira, 7 de dezembro de 2011 21:20
-
Olá Pessoal,
Para quem precisar aqui vai a minha solução.
Tenho um aparelho (quase igual a um PC) e este roda um Servidor Windows 2003.
Este aparelho emite um sinal de Wireless e Consequentemente se conecta também a ele mesmo.
Precisava verificar se o sinal emitido estava ok. ou seja, se os usuários que se conectam a este aparelho conseguiam navegar na aplicação WEB, gerenciada por ele.
A "grande sacada" estava em que este código abaixo funciona para WIN2003 e como estava testando no Win 7, ai travava tudo.
Consegui realizar esta consulta utilizando esta documentação:
http://www.scriptinternals.de/new/us/Support/Internal/WMI_MSNdis_80211_ReceivedSignalStrength.htm
E aqui esta o código para quem mais precisar,
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Management; namespace Wifi_2 { class Program { [STAThread] static void Main(string[] args) { ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query); string result = ""; //ManagementObjectCollection queryCollection = searcher.Get(); foreach (ManagementObject obj in searcher.Get()) { if ((bool)obj["Active"] == true) { result += "Sinal:" + (string)obj["Ndis80211ReceivedSignalStrength"].ToString() + Environment.NewLine; result += "Ativo :" + (string)obj["Active"].ToString() + Environment.NewLine; result += "Nome da Instancia :" + (string)obj["InstanceName"].ToString() + Environment.NewLine; } } if (result == "") { result = "Não foram encontrados Adatpatores Wifi!"; } Console.WriteLine(result); } catch (Exception) { Console.WriteLine("Erro na aplicação"); } Console.ReadLine(); } } }
Obrigado pela ajuda e espero que este ajude outros amigos,
Abraços
http://fparmezani.wordpress.com- Marcado como Resposta Fernando Parmezani segunda-feira, 19 de dezembro de 2011 13:59
Todas as Respostas
-
Voce pode usar o WMI que possui uma linguagem de querys chamada WQL que realiza querys a computadores remotos buscando informações das mais diversas possíveis. A exibição dessas informações pode ser feita no formato que voce desejar.
Da uma olhada no link: http://www.csharphelp.com/2006/10/wmi-made-easy-for-c/
Se a minha resposta lhe foi util, marque "Propor como Proposta" para qualificar o conteudo do fórum. Obrigado, Vinicius Nunes Macedo- Marcado como Resposta Fernando Parmezani quarta-feira, 7 de dezembro de 2011 21:20
-
-
Olá Vinicius,
Estou ainda tentando resolver o Problema para listar as conexões,
Verifiquei seu artigo, mas ainda tenho algumas restrições, por exemplo, este sistema vai ficar um um Servidor e não posso registrar DLL por exemplo.
Veja o exemplo aqui
http://social.msdn.microsoft.com/Forums/pt/vscsharppt/thread/9d54c8cc-affb-458b-8833-b852aed02203
Ou este processo.
http://social.msdn.microsoft.com/Forums/pt/vscsharppt/thread/6f4a7696-ea28-4569-a9a4-5e9429544c12
O que preciso é
Verficar se a Conexao "X" existe e se esta habilitada,
Alguem mais tem dicas?
Agradeço antecipadamente!
http://fparmezani.wordpress.com -
Amigos,
Encontrei este artigo na Microsoft sobre esta classe,
Ela fala sobre o ManagementObjectSearcher e com este posso realizar uma consultar sobre as redes disponíveis,
Alguem sabe me dizer qual a SELECT para isto?
http://msdn.microsoft.com/pt-br/library/system.management.managementobjectsearcher.aspx
Grato
http://fparmezani.wordpress.com -
-
Olá Pessoal,
Para quem precisar aqui vai a minha solução.
Tenho um aparelho (quase igual a um PC) e este roda um Servidor Windows 2003.
Este aparelho emite um sinal de Wireless e Consequentemente se conecta também a ele mesmo.
Precisava verificar se o sinal emitido estava ok. ou seja, se os usuários que se conectam a este aparelho conseguiam navegar na aplicação WEB, gerenciada por ele.
A "grande sacada" estava em que este código abaixo funciona para WIN2003 e como estava testando no Win 7, ai travava tudo.
Consegui realizar esta consulta utilizando esta documentação:
http://www.scriptinternals.de/new/us/Support/Internal/WMI_MSNdis_80211_ReceivedSignalStrength.htm
E aqui esta o código para quem mais precisar,
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Management; namespace Wifi_2 { class Program { [STAThread] static void Main(string[] args) { ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query); string result = ""; //ManagementObjectCollection queryCollection = searcher.Get(); foreach (ManagementObject obj in searcher.Get()) { if ((bool)obj["Active"] == true) { result += "Sinal:" + (string)obj["Ndis80211ReceivedSignalStrength"].ToString() + Environment.NewLine; result += "Ativo :" + (string)obj["Active"].ToString() + Environment.NewLine; result += "Nome da Instancia :" + (string)obj["InstanceName"].ToString() + Environment.NewLine; } } if (result == "") { result = "Não foram encontrados Adatpatores Wifi!"; } Console.WriteLine(result); } catch (Exception) { Console.WriteLine("Erro na aplicação"); } Console.ReadLine(); } } }
Obrigado pela ajuda e espero que este ajude outros amigos,
Abraços
http://fparmezani.wordpress.com- Marcado como Resposta Fernando Parmezani segunda-feira, 19 de dezembro de 2011 13:59