V rámci rádoby pravidelného přispívání smysluplných příspěvků se musím zeptat. Věděli jste že magic-packet pro WOL je až tak jednoduchý?
- //procedura potrebna k spustení WoL
- private void WakeFunkce(string macAddr)
- {
- int citac = 0;
- byte[] bytes = new byte[1024];
- WoLClass client = new WoLClass();
- client.Connect(new IPAddress(0xffffffff), 0x2fff);
- client.SetClientToBrodcastMode();
- for (int i = 0; i < 6; i++)
- {
- bytes[citac++] = 0xFF;
- }
- for (int i = 0; i < 16; i++)
- {
- int y = 0;
- for (int j = 0; j < 6; j++)
- {
- bytes[citac++] = byte.Parse(macAddr.Substring(y, 2), System.Globalization.NumberStyles.HexNumber);
- y += 3;
- }
- }
- int returned_value = client.Send(bytes, 1024);
- }
No a voilà, síťové zařízení podporující WOL je probuzeno!