5
我正在爲我們公司編寫喚醒局域網程序。有ca.我們公司有40-50臺機器,它應該喚醒每一位客戶。要喚醒客戶端我用這個代碼:C#喚醒局域網程序不會喚醒每個客戶端
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)
大多數客戶醒來正常。但在某些客戶端計算機剛停止啓動,並停留在黑色顯示器上,左上角有一個下劃線。我已經爲每個客戶端檢查了3次(ipconfig)的macAddress,並且也在VS2012的調試模式下進行了檢查。它總是相同和正確的。所以它不能成爲一個mac地址問題。
有人知道這個問題嗎?
意見建議:)