Ich programmiere ein Wake on LAN-Programm für unser Unternehmen. Es gibt ca. 40-50 Maschinen in unserer Firma und es sollte jeden Kunden aufwecken. Aufzuwachen die Kunden verwende ich diesen Code:C# Wake on LAN-Programm weckt nicht jeden Client
private static void WakeUp(string macAddress)
{
WOLClass client = new WOLClass();
client.Connect(new IPAddress(0xffffffff), 0x2fff);
client.SetClientToBroadcastMode();
int counter = 0;
byte[] bytes = new byte[1024];
for (int e = 0; e < 6; e++)
{
bytes[counter++] = 0xFF;
}
for (int e = 0; e < 16; e++)
{
int i = 0;
for (int w = 0; w < 6; w++)
{
bytes[counter++] = byte.Parse(macAddress.Substring(i, 2), NumberStyles.HexNumber);
i += 2;
}
}
int returnedValue = client.Send(bytes, 1024);
}
public class WOLClass : UdpClient
{
public WOLClass()
: base()
{
}
public void SetClientToBroadcastMode()
{
if (this.Active)
{
this.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, 0);
}
}
}
und auf button_Click
Ereignis Ich nenne nur die Methode WakeUp(macAddress)
Die meisten Kunden normalerweise aufwachen. Aber auf manchen Clients hört der Computer einfach auf zu starten und bleibt in einem schwarzen Monitor mit einer kleinen Unterstreichung in der oberen linken Ecke. Ich habe die macAddress für jeden Client 3 mal (ipconfig) und auch im Debug-Modus von VS2012 überprüft. Es ist immer identisch und korrekt. Es kann also kein Mac-Adress-Problem sein.
Kennt jemand dieses Problem?
Vorschläge geschätzt :)