2014-06-12 9 views
5

नहीं जागता है मैं अपनी कंपनी के लिए लैन कार्यक्रम पर जागरूकता प्रोग्रामिंग कर रहा हूं। सीए हैं हमारी कंपनी में 40-50 मशीनें और इसे हर ग्राहक को जागृत करना चाहिए। ग्राहकों को जगाने के लिए मैं इस कोड का उपयोग करें:सी # लैन कार्यक्रम पर जागने से प्रत्येक ग्राहक

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 के डीबग मोड में भी जांच की है। यह हमेशा समान और सही है। तो यह एक मैक पता मुद्दा नहीं हो सकता है।

क्या कोई उस समस्या को जानता है?

सुझाव की सराहना की :)

उत्तर

10

समस्या कोड नहीं है, यह मशीन है। हार्डवेयर डीबग करने का प्रयास करें।

देखें, लैंक पर वेक एक जादू पैकेट है। नेटवर्क कार्ड इसे प्राप्त करता है और फिर मशीन को जगाता है।

यह सब आप करते हैं।

मशीन को फिर से उठना है, और कुछ गलत हो गया है। आपके जादू पैकेट में कुछ भी नहीं है जो इसका कारण बन सकता है - मैं सामान्य संदिग्धों (मेरे दिमाग में आने वाले जैव संस्करण) से शुरू करूंगा।

यदि मशीन को शुरू करने की पुष्टि की जा सकती है (और फिर शुरुआत के दौरान बंद हो जाती है) तो यह प्रोग्रामिंग समस्या नहीं है।

संबंधित मुद्दे