우리 회사의 Wake on LAN 프로그램을 프로그래밍하고 있습니다. ca. 우리 회사의 40-50 대의 기계가 모든 클라이언트를 깨워 야합니다.C# wake on lan 프로그램이 모든 클라이언트를 깨우지 않습니다.
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);
}
}
}
하고 button_Click
이벤트에 난 그냥 WakeUp(macAddress)
대부분의 클라이언트가 정상적으로 일어나 메소드를 호출 : 클라이언트를 깨우려면이 코드를 사용합니다. 그러나 일부 클라이언트의 경우 컴퓨터가 시작되지 않고 왼쪽 상단 모서리에 약간 밑줄이 그어진 검은 색 모니터에 그대로 있습니다. 이미 모든 클라이언트에 대해 macAddress를 세 번 (ipconfig) 확인했으며 VS2012의 디버그 모드에서도 확인했습니다. 항상 동일하고 정확합니다. 그래서 그것은 맥 주소 문제가 될 수 없습니다.
누군가가 그 문제를 알고 있습니까?
제안 사항 :