NetworkInterface:NetworkAddressChanged event

image_pdfimage_print
   
 

using System;
using System.Net.NetworkInformation;
class MainClass {
    private static void NetworkAddressChanged(object sender, EventArgs e) {
        Console.WriteLine("Current IP Addresses:");
        foreach (NetworkInterface ni in NetworkInterface.GetAllNetworkInterfaces()) {
            foreach (UnicastIPAddressInformation addr in ni.GetIPProperties().UnicastAddresses) {
                Console.WriteLine("    - {0} (lease expires {1})", addr.Address, DateTime.Now + new TimeSpan(0, 0, (int)addr.DhcpLeaseLifetime));
            }
        }
    }
    static void Main(string[] args) {
        NetworkChange.NetworkAddressChanged += NetworkAddressChanged;
    }
}

    


NetworkInterface: NetworkAvailabilityChanged event

image_pdfimage_print
   
 


using System;
using System.Net.NetworkInformation;
class MainClass {
    private static void NetworkAvailabilityChanged(object sender, NetworkAvailabilityEventArgs e) {
        if (e.IsAvailable) {
            Console.WriteLine("Network Available");
        } else {
            Console.WriteLine("Network Unavailable");
        }
    }
    static void Main(string[] args) {
        NetworkChange.NetworkAvailabilityChanged += NetworkAvailabilityChanged;
    }
}

    


NetworkInterface: OperationalStatus

image_pdfimage_print
   
 
using System;
using System.Net.NetworkInformation;

class MainClass {
    static void Main() {
        if (NetworkInterface.GetIsNetworkAvailable()) {
            NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();
            foreach (NetworkInterface ni in interfaces) {
                Console.WriteLine("    Status: {0}", ni.OperationalStatus);
            }
        } else {
            Console.WriteLine("No network available.");
        }
    }
}

    


NetworkInterface: GetPhysicalAddress

image_pdfimage_print
   
 
using System;
using System.Net.NetworkInformation;

class MainClass {
    static void Main() {
        if (NetworkInterface.GetIsNetworkAvailable()) {
            NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();
            foreach (NetworkInterface ni in interfaces) {
                Console.WriteLine("     Physical Address: {0}", ni.GetPhysicalAddress().ToString());
            }
        } else {
            Console.WriteLine("No network available.");
        }
    }
}

    


NetworkInterface: GetIPv4Statistics

image_pdfimage_print
   
 
using System;
using System.Net.NetworkInformation;

class MainClass {
    static void Main() {
        if (NetworkInterface.GetIsNetworkAvailable()) {
            NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();
            foreach (NetworkInterface ni in interfaces) {
                Console.WriteLine("    Bytes Sent: {0}", ni.GetIPv4Statistics().BytesSent);
            }
        } else {
            Console.WriteLine("No network available.");
        }
    }
}

    


NetworkInterface: GetIPProperties

image_pdfimage_print
   
 
using System;
using System.Net.NetworkInformation;

class MainClass {
    static void Main() {
        if (NetworkInterface.GetIsNetworkAvailable()) {
            NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();
            foreach (NetworkInterface ni in interfaces) {
                foreach (UnicastIPAddressInformation addr in ni.GetIPProperties().UnicastAddresses) {
                    Console.WriteLine("         - {0} (lease expires {1})", addr.Address, DateTime.Now + new TimeSpan(0, 0, (int)addr.DhcpLeaseLifetime));
                }
            }
        } else {
            Console.WriteLine("No network available.");
        }
    }
}

    


Mail Attach Test

image_pdfimage_print
   

/*
C# Network Programming 
by Richard Blum

Publisher: Sybex 
ISBN: 0782141765
*/

using System;
using System.Web.Mail;

public class MailAttachTest
{
   public static void Main()
   {

      MailAttachment myattach =
          new MailAttachment("c:	empMailAttachTest.exe", MailEncoding.Base64);
      MailMessage newmessage = new MailMessage();
      newmessage.From = "barbara@shadrach.ispnet1.net";
      newmessage.To = "rich@shadrach.ispnet1.net";
      newmessage.Subject = "A test mail attachment message";
      newmessage.Priority = MailPriority.High;
      newmessage.Headers.Add("Comments",
                 "This message attempts to send a binary attachment");
      newmessage.Attachments.Add(myattach);
      newmessage.Body = "Here's a test file for you to try";

      try
      {
         SmtpMail.SmtpServer = "192.168.1.100";
         SmtpMail.Send(newmessage);
      } catch (System.Web.HttpException)
      {
         Console.WriteLine("This device can not send Internet messages");
      }
   }
}