Feedback

C# - Wake on LAN

Veröffentlicht von am 14.08.2007
(3 Bewertungen)
Wake on LAN in C#

Beispielaufruf für die Mac Adresse 00:30:84:79:AA:E3

byte[] macaddress = new byte[] {0x00, 0x30, 0x84, 0x79, 0xAA, 0xE3};
WakeOnLan(macaddress);

Benötigte Namespaces:

using System;
using System.Net;
using System.Net.Sockets;
GFU-Schulungen  [Anzeige]

VB.NET 2017/2015/2013 Komplett

Ziel des Seminars ist der flexible Umgang mit VB.NET, wie z.B. die damit verbundene eigenständige Entwicklung von Programmen oder das Verwenden von Datenbanken.

C# 2017/2015/2013 Aufbau

In dieser Schulung lernen Sie fortgeschrittene Techniken im Bereich .Net C#. Dabei stehen neben den eigentlichen Techniken auch architektonische Aspekte im Mittelpunkt.

/// <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 WakeOnLan(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[17*6];

    // Trailer of 6 times 0xFF.
    for (int i = 0; i < 6; i++)
        packet[i] = 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[i*6 + j] = mac[j];

    // Send WOL packet.
    client.Send(packet, packet.Length);
}
Abgelegt unter MAC, Wake on LAN, Lan, WOL, Magic packet.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!