〥羽〥 發表於 2009-3-3 02:04:38

C# Wake On LAN (WOL)


using System;
using System.Net;
using System.Net.Sockets;

namespace WakeOnLan
{
    class Program
    {
   static void Main(string[] args)
   {
   byte[] mac = new byte[] {0x00, 0x0F, 0x1F, 0x20, 0x2D, 0x35};
   WakeUp(mac);
   }

   /// <summary>
   /// Sends a Wake-On-Lan packet to the specified MAC address.
   /// </summary>
   /// <param name="mac">Physical MAC address to send WOL packet to.</param>
   private static void WakeUp(byte[] mac)
   {
   //
   // WOL packet is sent over UDP 255.255.255.0:40000.
   //
   UdpClient client = new UdpClient();
   client.Connect(IPAddress.Broadcast, 40000);

   //
   // WOL packet contains a 6-bytes trailer and 16 times a 6-bytes sequence containing the MAC address.
   //
   byte[] packet = new byte;

   //
   // Trailer of 6 times 0xFF.
   //
   for (int i = 0; i < 6; i++)
   packet = 0xFF;

   //
   // Body of magic packet contains 16 times the MAC address.
   //
   for (int i = 1; i <= 16; i++)
   for (int j = 0; j < 6; j++)
   packet = mac;

   //
   // Submit WOL packet.
   //
   client.Send(packet, packet.Length);
   }
    }
}
頁: [1]
查看完整版本: C# Wake On LAN (WOL)