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]