Obendo informações sobre os adaptadores de rede


Utilizando os recursos da plataforma .NET podemos entre muitas outras coisas obter as informações sobre os adaptadores de rede que estão concectados à nossa máquina.
Para obter informações sobre as interfaces de rede que estão conectadas à máquina local o namespace System.Net.NetworkInformation fornece acesso fácil as informações sobre a rede, configurações e estatísticas,
O método estático NetworkInterface.GetAllNetworkInterfaces, retorna uma matriz de objetos NetworkInterface. Cada objeto representa uma única interface de rede na máquina local, onde você então pode obter informações de rede e estatísticas da interface em questão.
Exemplo:
 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.NetworkInformation;
using System.Text;
using System.Threading.Tasks;

namespace CSharpNetwork
{
class Program
{
static void Main(string[] args)
{
// Verifica se existe alguma interface disponível
if (NetworkInterface.GetIsNetworkAvailable())
{
// Obtém todas as interfaces da máquina local
NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();

foreach (NetworkInterface ni in interfaces)
{
// Informações básicas

// Nome da interface
Console.WriteLine("Nome da Interface: {0}", ni.Name);

// Obtém a descrição geral da interface
Console.WriteLine("Descrição: {0}", ni.Description);
// Identificador da interface
Console.WriteLine("Id: {0}", ni.Id);

// Obtém o valor do enumerador System.Net.NetworkInformation.NetworkInterfaceType
// que identifica o tipo da interface (Ethernet, FastEthernetT, LoopBack
Console.WriteLine("Tipo: {0}", ni.NetworkInterfaceType);

// Velocidade (bits por segundo)
Console.WriteLine("Velocidade: {0}", ni.Speed);

// Indica se a interface está ativa
Console.WriteLine("Status: {0}", ni.OperationalStatus);

// Indica se a interface somente recebe dados ou envia
// e recebe dados.
Console.WriteLine("Somente Recebe Dados: {0}", ni.IsReceiveOnly);


// Informações de endereçamento
Console.WriteLine("Endereço Físico (MAC): {0}", ni.GetPhysicalAddress().ToString());


Console.WriteLine("Endereços IP:");
foreach (var addr in ni.GetIPProperties().UnicastAddresses)
{
Console.WriteLine("             -IP: {0}, Máscara: {1}, Expira em: {2}",
addr.Address, addr.IPv4Mask, DateTime.Now + new TimeSpan(0, 0, (int)addr.DhcpLeaseLifetime));
}
// Estatísticas da interface
Console.WriteLine("Bytes enviados: {0}", ni.GetIPv4Statistics().BytesSent);
Console.WriteLine("Bytes recebidos: {0}", ni.GetIPv4Statistics().BytesReceived);
}

Console.ReadKey();
}
else
{
// Nâo existem nenhuma interface de rede disponível....
}
}
}
}

Até a próxima.

Anúncios

Monitorando arquivos via programação


Neste post mostrarei como monitorar arquivos e diretórios utilizando os recursos que a plataforma .NET oferece.

Para iniciar, vamos criar um novo projeto Console Application no Visual Studio.

Dê um nome para este projeto, no meu caso eu chamei de VigiaArquivos.

A nível didático iremos monitorar a criação, alteração e deleção de arquivos de texto que estão dentro de uma determinada pasta do usuário.

Importe o namespace System.IO com a seguinte instrução:

using System.IO;

Isto permitirá utilizar as classes que trabalham com arquivos e diretórios, onde é possível criar novos, alterar, remover e assim por diante, mas neste post vamos trabalhar com a classe FileSystemWatcher  ajustando a propriedade Path para informar o caminho do diretório  e a propriedade Filter que irá definir quais extensões de arquivos será monitorado. Continue lendo “Monitorando arquivos via programação”

Renomeando arquivos e diretórios com C#


Olá, neste post irei mostrar como ren0mear arquivos e diretórios (pastas) via programação utilizando a linguagem C#.NET da Microsoft.

Esse recurso se torna muito útil quando é necessário renomear muitos arquivos que seguem um determinado padrão de nomenclatura, como por exemplo, ao invés de espaços nos nomes dos arquivos e pastas (ignorando os arquivos do sistema) seja inserido o caracter sublinhado (_), também conhecido com underscore. Esse será o padrão que irei utilizar como exemplo.

Para iniciar, abra o Visual Studio (pode ser também a versão Express que pode baixada neste link), crie um novo projeto Windows Forms na linguagem C# e digite o nome do projeto, neste exemplo irei inserir com o nome Renomeia_Arquivos;

Continue lendo “Renomeando arquivos e diretórios com C#”

Executando aplicações .NET no Linux


Assim como qualquer programa desenvolvido em Java, os que são desenvolvidos na plataforma .NET também pode ser  executados em sistemas operacionais (SO) que não sejam Microsoft Windows, como o Linux por exemplo. Continue lendo “Executando aplicações .NET no Linux”

Interoperabilibade .NET e Java


Entre as linguagens orientadas a objeto utilizadas para desenvolvimento web e desktop atualmente em grande aceitação estão incluidas as linguagens Java, originalmente desenvolvida pela Sun Microsystems e atualmente mantida pela Oracle Corporation, e de outro lado a plataforma .NET desenvolvida pela Microsoft Corporation, na plataforma .NET, a linguagem totalmente orientada a objetos e concorrente direta da linguagem Java é a C# (C Sharp), como são desenvolvidas por duas empresas diferentes e suas utilidades são praticamente idênticas, pois podem estar dentro de dispositivos móveis, embarcados, aplicações desktop e web, etc. Neste post irei inserir links com vídeos  e apresentações PowerPoint falando sobre a  interoperabilidade entre essas duas grandes plataformas, explicando a diferença entre a estrutura da linguagem, da plataforma como um todo, a difrença entre os frameworks de desenvolvimento, tudo isso nesta página da MSDN Brasil, a comunidade de desenvolvedores Microsoft brasileira.

Até a próxima.

Enumerando Arquivos com o tipo DirectoryInfo


Para ampliar a gama de utilidades do tipo DirectoryInfo, podemos enumerar todos os arquivos que estão dentro de uma pasta (ou diretório). Para isso crie um novo projeto do Visual Studio, ou crie um novo método dentro do projeto InformacoesDiretorio, caso tenha acompanhado nossas postagens. Continue lendo “Enumerando Arquivos com o tipo DirectoryInfo”